Some checks failed
Native code generation / deterministic (push) Failing after 2m5s
Imaging and meshing gate / native (push) Failing after 5m37s
JPEG 2000 feature / linux (push) Successful in 2m49s
Native Rust workspace compile / compile (push) Failing after 17m32s
Skia feature / linux (push) Successful in 31m32s
112 lines
4.8 KiB
YAML
112 lines
4.8 KiB
YAML
name: Native Rust workspace compile
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- ".gitea/workflows/rust-workspace.yml"
|
|
- "tools/install_openjpeg_2_5_4.sh"
|
|
- "tools/check_milestone_09.py"
|
|
- "tools/test_milestone_09.py"
|
|
- "tools/check_milestone_10_issue_76.py"
|
|
- "tools/check_milestone_10_issue_77.py"
|
|
- "tools/check_milestone_10_issue_78.py"
|
|
- "tools/check_milestone_10_issue_79.py"
|
|
- "tools/check_milestone_10_issue_80.py"
|
|
- "tools/check_milestone_10_issue_81.py"
|
|
- "tools/check_milestone_10_issue_82.py"
|
|
- "tools/check_milestone_10_issue_83.py"
|
|
- "tools/check_milestone_10.py"
|
|
- "tools/test_milestone_10.py"
|
|
- "tools/generate_lsl_tables.py"
|
|
- "codegen/inputs/lsl_tools_grammar.json"
|
|
- "docs/extension-milestone-gate.md"
|
|
- "api/SHIM-COVERAGE.md"
|
|
- "**/*.rs"
|
|
- "**/Cargo.toml"
|
|
- "Cargo.lock"
|
|
pull_request:
|
|
paths:
|
|
- ".gitea/workflows/rust-workspace.yml"
|
|
- "tools/install_openjpeg_2_5_4.sh"
|
|
- "tools/check_milestone_09.py"
|
|
- "tools/test_milestone_09.py"
|
|
- "tools/check_milestone_10_issue_76.py"
|
|
- "tools/check_milestone_10_issue_77.py"
|
|
- "tools/check_milestone_10_issue_78.py"
|
|
- "tools/check_milestone_10_issue_79.py"
|
|
- "tools/check_milestone_10_issue_80.py"
|
|
- "tools/check_milestone_10_issue_81.py"
|
|
- "tools/check_milestone_10_issue_82.py"
|
|
- "tools/check_milestone_10_issue_83.py"
|
|
- "tools/check_milestone_10.py"
|
|
- "tools/test_milestone_10.py"
|
|
- "tools/generate_lsl_tables.py"
|
|
- "codegen/inputs/lsl_tools_grammar.json"
|
|
- "docs/extension-milestone-gate.md"
|
|
- "api/SHIM-COVERAGE.md"
|
|
- "**/*.rs"
|
|
- "**/Cargo.toml"
|
|
- "Cargo.lock"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
compile:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
OPENJPEG_PREFIX: /tmp/metacrate-openjpeg-${{ github.run_id }}
|
|
PKG_CONFIG_PATH: /tmp/metacrate-openjpeg-${{ github.run_id }}/lib/pkgconfig
|
|
LD_LIBRARY_PATH: /tmp/metacrate-openjpeg-${{ github.run_id }}/lib
|
|
CARGO_BUILD_JOBS: 1
|
|
CARGO_INCREMENTAL: 0
|
|
CARGO_PROFILE_DEV_DEBUG: 0
|
|
CARGO_PROFILE_TEST_DEBUG: 0
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: rustfmt, clippy
|
|
- name: Install audited OpenJPEG 2.5.4
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --yes build-essential cmake pkg-config libopus-dev libasound2-dev
|
|
tools/install_openjpeg_2_5_4.sh "$OPENJPEG_PREFIX"
|
|
- name: Check formatting
|
|
run: cargo fmt --all -- --check
|
|
- name: Audit native implementation boundaries
|
|
run: |
|
|
python3 tools/check_milestone_09_issue_59.py
|
|
python3 tools/check_milestone_09_issue_60.py
|
|
python3 tools/check_milestone_09_issue_61.py
|
|
python3 tools/check_milestone_09_issue_62.py
|
|
python3 tools/check_milestone_09_issue_63.py
|
|
python3 tools/check_milestone_09_issue_64.py
|
|
python3 tools/check_milestone_09_issue_65.py
|
|
python3 tools/check_milestone_09_issue_66.py
|
|
python3 tools/check_milestone_09.py
|
|
python3 tools/check_milestone_10_issue_76.py
|
|
python3 tools/check_milestone_10_issue_77.py
|
|
python3 tools/check_milestone_10_issue_78.py
|
|
python3 tools/check_milestone_10_issue_79.py
|
|
python3 tools/check_milestone_10_issue_80.py
|
|
python3 tools/check_milestone_10_issue_81.py
|
|
python3 tools/check_milestone_10_issue_82.py
|
|
python3 tools/check_milestone_10_issue_83.py
|
|
python3 tools/generate_lsl_tables.py --check
|
|
python3 tools/check_milestone_10.py
|
|
- name: Test the complete native world milestone
|
|
run: python3 tools/test_milestone_09.py
|
|
- name: Test the complete native extension milestone
|
|
run: python3 tools/test_milestone_10.py
|
|
- name: Compile every workspace target with bounded memory
|
|
run: cargo check --workspace --all-targets --locked -j 1
|
|
- name: Check optional cross-platform real audio backend
|
|
run: |
|
|
cargo check -p libremetaverse-voice-webrtc --all-targets --features real-audio --locked -j 1
|
|
cargo check -p libremetaverse-programs --bin webrtc-test --features real-audio --locked -j 1
|
|
- name: Lint every native extension target with bounded memory
|
|
run: cargo clippy -p libremetaverse-rendering-simple -p libremetaverse-rendering-mesh-foundry -p libremetaverse-rlv -p libremetaverse-lsl-tools --all-targets --locked -j 1 -- -D warnings
|
|
- name: Document every native extension crate
|
|
env:
|
|
RUSTDOCFLAGS: -D warnings
|
|
run: cargo doc -p libremetaverse-rendering-simple -p libremetaverse-rendering-mesh-foundry -p libremetaverse-rlv -p libremetaverse-lsl-tools --no-deps --locked -j 1
|