From aeb44fd089ea41bfab4d95ea2d90898a4e62ca2b Mon Sep 17 00:00:00 2001 From: Chili Palmer Date: Sun, 9 Aug 2026 12:31:52 +0000 Subject: [PATCH] Limit Gitea workflow build scope --- .gitea/workflows/codegen.yml | 49 ++++++++++++++++++++++++++-- .gitea/workflows/imaging-meshing.yml | 46 +++++++++++++++++++++++--- .gitea/workflows/jpeg2000.yml | 17 ++++++++++ .gitea/workflows/rust-workspace.yml | 29 ++++++++++++++++ .gitea/workflows/skia.yml | 15 +++++++++ 5 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 .gitea/workflows/rust-workspace.yml diff --git a/.gitea/workflows/codegen.yml b/.gitea/workflows/codegen.yml index b238c5b..4a62a42 100644 --- a/.gitea/workflows/codegen.yml +++ b/.gitea/workflows/codegen.yml @@ -2,13 +2,56 @@ name: Native code generation on: push: + paths: + - ".gitea/workflows/codegen.yml" + - "Cargo.toml" + - "Cargo.lock" + - "api/**" + - "codegen/**" + - "tools/codegen/**" + - "tools/generate_*.py" + - "tools/check_api_coverage.py" + - "tools/check_codegen_gate.py" + - "crates/libremetaverse/Cargo.toml" + - "crates/libremetaverse/src/generated.rs" + - "crates/libremetaverse/src/packets.rs" + - "crates/libremetaverse/src/packet_*.rs" + - "crates/libremetaverse/src/*_catalog.rs" + - "tests/api-compile/**" + - "tests/compat/Cargo.toml" + - "tests/compat/build.rs" + - "tests/compat/src/**" + - "tests/compat/tests/wire_semantics.rs" + - "tests/compat/tests/appearance_visual_semantics.rs" + - "tests/upstream-tests.json" pull_request: + paths: + - ".gitea/workflows/codegen.yml" + - "Cargo.toml" + - "Cargo.lock" + - "api/**" + - "codegen/**" + - "tools/codegen/**" + - "tools/generate_*.py" + - "tools/check_api_coverage.py" + - "tools/check_codegen_gate.py" + - "crates/libremetaverse/Cargo.toml" + - "crates/libremetaverse/src/generated.rs" + - "crates/libremetaverse/src/packets.rs" + - "crates/libremetaverse/src/packet_*.rs" + - "crates/libremetaverse/src/*_catalog.rs" + - "tests/api-compile/**" + - "tests/compat/Cargo.toml" + - "tests/compat/build.rs" + - "tests/compat/src/**" + - "tests/compat/tests/wire_semantics.rs" + - "tests/compat/tests/appearance_visual_semantics.rs" + - "tests/upstream-tests.json" + workflow_dispatch: jobs: deterministic: runs-on: ubuntu-latest - env: - CARGO_BUILD_JOBS: "1" steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable @@ -47,6 +90,6 @@ jobs: - name: Lint native generator run: | cargo clippy -p libremetaverse-codegen --all-targets -- -D warnings - cargo clippy -p libremetaverse --all-targets --no-deps -- -D warnings + cargo clippy -p libremetaverse --lib --no-deps -- -D warnings - name: Prove normal consumer build does not execute generation run: cargo build -p libremetaverse --locked diff --git a/.gitea/workflows/imaging-meshing.yml b/.gitea/workflows/imaging-meshing.yml index c2ebfad..e738340 100644 --- a/.gitea/workflows/imaging-meshing.yml +++ b/.gitea/workflows/imaging-meshing.yml @@ -2,7 +2,46 @@ name: Imaging and meshing gate on: push: + paths: + - ".gitea/workflows/imaging-meshing.yml" + - "Cargo.toml" + - "Cargo.lock" + - "crates/libremetaverse/Cargo.toml" + - "crates/libremetaverse/src/generated.rs" + - "crates/libremetaverse/src/skeleton.rs" + - "crates/libremetaverse/src/*_catalog.rs" + - "crates/libremetaverse-types/**" + - "crates/libremetaverse-imaging/**" + - "crates/libremetaverse-imaging-skia/**" + - "crates/libremetaverse-prim-mesher/**" + - "crates/libremetaverse-rendering-mesh-foundry/**" + - "tests/compat/Cargo.toml" + - "tests/compat/build.rs" + - "tests/compat/src/**" + - "tests/compat/tests/imaging_meshing_semantics.rs" + - "tests/upstream-tests.json" + - "tools/check_milestone_06.py" pull_request: + paths: + - ".gitea/workflows/imaging-meshing.yml" + - "Cargo.toml" + - "Cargo.lock" + - "crates/libremetaverse/Cargo.toml" + - "crates/libremetaverse/src/generated.rs" + - "crates/libremetaverse/src/skeleton.rs" + - "crates/libremetaverse/src/*_catalog.rs" + - "crates/libremetaverse-types/**" + - "crates/libremetaverse-imaging/**" + - "crates/libremetaverse-imaging-skia/**" + - "crates/libremetaverse-prim-mesher/**" + - "crates/libremetaverse-rendering-mesh-foundry/**" + - "tests/compat/Cargo.toml" + - "tests/compat/build.rs" + - "tests/compat/src/**" + - "tests/compat/tests/imaging_meshing_semantics.rs" + - "tests/upstream-tests.json" + - "tools/check_milestone_06.py" + workflow_dispatch: jobs: native: @@ -30,11 +69,10 @@ jobs: cargo test -p libremetaverse-compat-tests --test imaging_meshing_semantics reviewed_coordtests_ cargo test -p libremetaverse-compat-tests --test imaging_meshing_semantics reviewed_quattests_ cargo test -p libremetaverse-compat-tests --test imaging_meshing_semantics reviewed_primmeshtests_ - - name: Compile workspace tests and performance baselines + - name: Compile performance baselines run: | - cargo test --workspace --no-run - cargo bench -p libremetaverse-imaging --bench image_pipeline --no-run - cargo bench -p libremetaverse-prim-mesher --bench meshing --no-run + cargo bench -p libremetaverse-imaging --bench image_pipeline --no-run -j 1 + cargo bench -p libremetaverse-prim-mesher --bench meshing --no-run -j 1 - name: Lint and document milestone crates run: | cargo clippy -p libremetaverse-imaging -p libremetaverse-imaging-skia -p libremetaverse-prim-mesher --all-targets -- -D warnings diff --git a/.gitea/workflows/jpeg2000.yml b/.gitea/workflows/jpeg2000.yml index d4abec6..ada7771 100644 --- a/.gitea/workflows/jpeg2000.yml +++ b/.gitea/workflows/jpeg2000.yml @@ -2,7 +2,24 @@ name: JPEG 2000 feature on: push: + paths: + - ".gitea/workflows/jpeg2000.yml" + - "Cargo.toml" + - "Cargo.lock" + - "crates/libremetaverse/Cargo.toml" + - "crates/libremetaverse-types/**" + - "crates/libremetaverse-imaging/**" + - "crates/libremetaverse-openjpeg/**" pull_request: + paths: + - ".gitea/workflows/jpeg2000.yml" + - "Cargo.toml" + - "Cargo.lock" + - "crates/libremetaverse/Cargo.toml" + - "crates/libremetaverse-types/**" + - "crates/libremetaverse-imaging/**" + - "crates/libremetaverse-openjpeg/**" + workflow_dispatch: jobs: linux: diff --git a/.gitea/workflows/rust-workspace.yml b/.gitea/workflows/rust-workspace.yml new file mode 100644 index 0000000..d4df1d7 --- /dev/null +++ b/.gitea/workflows/rust-workspace.yml @@ -0,0 +1,29 @@ +name: Native Rust workspace compile + +on: + push: + paths: + - ".gitea/workflows/rust-workspace.yml" + - "**/*.rs" + - "**/Cargo.toml" + - "Cargo.lock" + pull_request: + paths: + - ".gitea/workflows/rust-workspace.yml" + - "**/*.rs" + - "**/Cargo.toml" + - "Cargo.lock" + workflow_dispatch: + +jobs: + compile: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt + - name: Check formatting + run: cargo fmt --all -- --check + - name: Compile every workspace target with bounded memory + run: cargo check --workspace --all-targets --locked -j 1 diff --git a/.gitea/workflows/skia.yml b/.gitea/workflows/skia.yml index 08a897a..883e8d0 100644 --- a/.gitea/workflows/skia.yml +++ b/.gitea/workflows/skia.yml @@ -2,7 +2,22 @@ name: Skia feature on: push: + paths: + - ".gitea/workflows/skia.yml" + - "Cargo.toml" + - "Cargo.lock" + - "crates/libremetaverse-types/**" + - "crates/libremetaverse-imaging/**" + - "crates/libremetaverse-imaging-skia/**" pull_request: + paths: + - ".gitea/workflows/skia.yml" + - "Cargo.toml" + - "Cargo.lock" + - "crates/libremetaverse-types/**" + - "crates/libremetaverse-imaging/**" + - "crates/libremetaverse-imaging-skia/**" + workflow_dispatch: jobs: linux: