Fix Linux Gitea workflow gates
Some checks failed
Native code generation / deterministic (push) Failing after 10m31s
JPEG 2000 feature / linux (push) Has been cancelled
Skia feature / linux (push) Has been cancelled
Imaging and meshing gate / native (push) Has been cancelled

This commit is contained in:
2026-08-09 11:51:15 +00:00
parent c7777d42f5
commit 2274dd9a91
4 changed files with 20 additions and 7 deletions

View File

@@ -7,6 +7,8 @@ on:
jobs: jobs:
deterministic: deterministic:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env:
CARGO_BUILD_JOBS: "1"
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable - uses: dtolnay/rust-toolchain@stable
@@ -40,7 +42,7 @@ jobs:
cargo test -p libremetaverse --lib joint_get_aliases_list cargo test -p libremetaverse --lib joint_get_aliases_list
- name: Build and audit clean Rust-only release artifacts - name: Build and audit clean Rust-only release artifacts
run: | run: |
cargo build --workspace --release --locked cargo build -p libremetaverse-codegen --release --locked -j 1
python3 tools/check_codegen_gate.py --release-dir target/release python3 tools/check_codegen_gate.py --release-dir target/release
- name: Lint native generator - name: Lint native generator
run: | run: |

View File

@@ -7,6 +7,11 @@ on:
jobs: jobs:
linux: linux:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env:
# Ubuntu 24.04 also ships an older libopenjp2.so.7. Ensure both
# pkg-config and the runtime loader select the audited 2.5.4 install.
PKG_CONFIG_PATH: /usr/local/lib/pkgconfig
LD_LIBRARY_PATH: /usr/local/lib
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable - uses: dtolnay/rust-toolchain@stable
@@ -19,6 +24,7 @@ jobs:
cmake --build /tmp/openjpeg-build --parallel cmake --build /tmp/openjpeg-build --parallel
sudo cmake --install /tmp/openjpeg-build sudo cmake --install /tmp/openjpeg-build
sudo ldconfig sudo ldconfig
test "$(pkg-config --modversion libopenjp2)" = "2.5.4"
- name: Build and test optional feature - name: Build and test optional feature
run: | run: |
cargo test -p libremetaverse-imaging --features jpeg2000 cargo test -p libremetaverse-imaging --features jpeg2000

View File

@@ -15,7 +15,7 @@ jobs:
- name: Install native link prerequisites - name: Install native link prerequisites
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install --yes curl pkg-config libfontconfig1-dev libfreetype6-dev sudo apt-get install --yes build-essential clang curl ninja-build pkg-config python3 libfontconfig1-dev libfreetype6-dev
- name: Test default and Skia feature builds - name: Test default and Skia feature builds
run: | run: |
cargo test -p libremetaverse-imaging-skia --no-default-features cargo test -p libremetaverse-imaging-skia --no-default-features

View File

@@ -109,10 +109,15 @@ def check_benchmarks_and_ci() -> None:
for name, path in workflows.items(): for name, path in workflows.items():
if not path.is_file(): if not path.is_file():
raise SystemExit(f"missing {name} native-feature workflow") raise SystemExit(f"missing {name} native-feature workflow")
text = path.read_text().lower() runners = re.findall(r"(?m)^\s*runs-on:\s*([^\s#]+)", path.read_text().lower())
missing = [platform for platform in ("linux", "macos", "windows") if platform not in text] if not runners:
if missing: raise SystemExit(f"{name} workflow has no runner")
raise SystemExit(f"{name} workflow lacks platforms: " + ", ".join(missing)) unsupported = sorted({runner for runner in runners if runner != "ubuntu-latest"})
if unsupported:
raise SystemExit(
f"{name} workflow must use only ubuntu-latest, found: "
+ ", ".join(unsupported)
)
def main() -> None: def main() -> None:
@@ -122,7 +127,7 @@ def main() -> None:
check_benchmarks_and_ci() check_benchmarks_and_ci()
print( print(
"milestone 06 audit: owned Rust has no stubs; 48 reviewed parity cases, " "milestone 06 audit: owned Rust has no stubs; 48 reviewed parity cases, "
"optional native features, benchmarks, and cross-platform workflows are complete" "optional native features, benchmarks, and Linux-only Gitea workflows are complete"
) )