Gitea Ubuntu workflows fail against OpenJPEG 2.5.0 #113

Closed
opened 2026-08-10 11:23:06 +00:00 by hugo · 1 comment
Owner

Objective

Restore the Gitea Actions builds on ubuntu-latest. The installed system OpenJPEG package reports libopenjp2 2.5.0, while libremetaverse-openjpeg/build.rs currently requires >= 2.5.4 and panics before Rust compilation begins.

Evidence

  • Run 155 / job 199 (codegen) fails at build.rs:14 after pkg-config finds OpenJPEG 2.5.0.
  • Run 156 / job 200 (imaging and meshing) fails for the same reason.
  • Run 157 / job 201 (Rust workspace) fails for the same reason.

Deliverables

  • Provide a cross-platform dependency/build strategy that works on the ubuntu-latest Gitea runner without adding non-Ubuntu Gitea jobs.
  • Preserve the required native JPEG 2000 functionality.
  • Ensure the codegen, imaging-meshing, and rust-workspace workflows compile successfully.

Validation

  • Related native OpenJPEG/JPEG 2000 tests pass.
  • The three affected ubuntu-latest workflows pass their compile stages.
Objective Restore the Gitea Actions builds on ubuntu-latest. The installed system OpenJPEG package reports libopenjp2 2.5.0, while libremetaverse-openjpeg/build.rs currently requires >= 2.5.4 and panics before Rust compilation begins. Evidence - Run 155 / job 199 (codegen) fails at build.rs:14 after pkg-config finds OpenJPEG 2.5.0. - Run 156 / job 200 (imaging and meshing) fails for the same reason. - Run 157 / job 201 (Rust workspace) fails for the same reason. Deliverables - Provide a cross-platform dependency/build strategy that works on the ubuntu-latest Gitea runner without adding non-Ubuntu Gitea jobs. - Preserve the required native JPEG 2000 functionality. - Ensure the codegen, imaging-meshing, and rust-workspace workflows compile successfully. Validation - Related native OpenJPEG/JPEG 2000 tests pass. - The three affected ubuntu-latest workflows pass their compile stages.
hugo added this to the 09 - World vertical slices milestone 2026-08-10 11:23:06 +00:00
hugo added the bugcritical labels 2026-08-10 11:23:06 +00:00
Author
Owner

Implemented in cf98152 (Fix Ubuntu OpenJPEG provisioning (#113)).

The fix adds a shared installer that builds OpenJPEG 2.5.4 from its pinned upstream commit into an isolated prefix, verifies the tag/commit and exact pkg-config version, and exports PKG_CONFIG_PATH/LD_LIBRARY_PATH through GITHUB_ENV while preserving paths established by later actions such as setup-python. All four affected Ubuntu-only workflows now use the same provisioning path.

Verification:

  • Installer shell syntax, idempotence, exact 2.5.4 discovery, and GITHUB_ENV path preservation checked locally.
  • Related native JPEG2000 tests: 6 passed.
  • cargo check --workspace --all-targets --locked -j 1: passed with the provisioned library.
  • API compile workspace: passed.
  • Workflow YAML parsing and structure checks: passed.
  • Replacement Gitea runs all green: codegen 165, imaging/meshing 166, JPEG2000 167, Rust workspace 168 (UI runs 139–142).

Review against the issue found no remaining workflow that enables jpeg2000 without provisioning the pinned compatible OpenJPEG version.

Implemented in cf98152 (`Fix Ubuntu OpenJPEG provisioning (#113)`). The fix adds a shared installer that builds OpenJPEG 2.5.4 from its pinned upstream commit into an isolated prefix, verifies the tag/commit and exact pkg-config version, and exports `PKG_CONFIG_PATH`/`LD_LIBRARY_PATH` through `GITHUB_ENV` while preserving paths established by later actions such as `setup-python`. All four affected Ubuntu-only workflows now use the same provisioning path. Verification: - Installer shell syntax, idempotence, exact 2.5.4 discovery, and `GITHUB_ENV` path preservation checked locally. - Related native JPEG2000 tests: 6 passed. - `cargo check --workspace --all-targets --locked -j 1`: passed with the provisioned library. - API compile workspace: passed. - Workflow YAML parsing and structure checks: passed. - Replacement Gitea runs all green: codegen 165, imaging/meshing 166, JPEG2000 167, Rust workspace 168 (UI runs 139–142). Review against the issue found no remaining workflow that enables `jpeg2000` without provisioning the pinned compatible OpenJPEG version.
hugo closed this issue 2026-08-10 12:47:32 +00:00
Sign in to join this conversation.