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" - "**/*.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" - "**/*.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 steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt - name: Install audited OpenJPEG 2.5.4 run: | sudo apt-get update sudo apt-get install --yes build-essential cmake pkg-config tools/install_openjpeg_2_5_4.sh "$OPENJPEG_PREFIX" - name: Check formatting run: cargo fmt --all -- --check - name: Audit native milestone 09 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 - name: Test the complete native world milestone run: python3 tools/test_milestone_09.py - name: Compile every workspace target with bounded memory run: cargo check --workspace --all-targets --locked -j 1