Skip to content

fix(ci): qualify actual native AppImage assembly (RUST-CI-045) - #58

Merged
itlezy merged 2 commits into
mainfrom
fix/prepared-appimage-tools
Nov 12, 2026
Merged

itlezy merged 2 commits into
mainfrom
fix/prepared-appimage-tools

Conversation

@itlezy

@itlezy itlezy commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

Prepared GNU Linux packages compiled successfully but AppImage assembly failed because appimagetool invokes external file, which the image did not install. Add the explicit dependency to both native AppImage profiles and replace version-only acceptance with real synthetic assembly through the production packaging helper, using the verified pinned runtime. Extract without FUSE and verify every expected neutral payload file by SHA-256, without executing the payload.

Assembly uses the existing GNU timeout process-group model; extraction has a bounded timeout. The surrounding production probe remains native, non-root, read-only and offline, with its existing tool/runtime/material checks. Both profiles declare file because both use the same AppImage assembly path.

Share existing native Docker recipe/label/pinned-base argument construction between trusted publication and read-only PR conformance. Both native GitHub CPU runners build and locally load the full recipe at the exact PR head, then run the complete strengthened probe as UID10000 with no network. Preserve the small OCI identity proof, pinned Docker/BuildKit inputs and all existing publication guards. This conformance path publishes no image and makes no attestation claim.

Validation: 120 focused Python tests passed; one existing Linux-only GNU timeout test skipped on Windows. Normal commit/push privacy, hygiene, actionlint and direct-test hooks passed. Hosted native AMD64/ARM64 conformance passed at exact source eeed7b9: complete prepared recipe, Docker 29.6.1, UID10000, actual AppImage assembly, no-FUSE extraction and verified payload/runtime hashes on both CPUs. Publication jobs correctly skipped. All exact-head checks passed, including both Windows baselines, CodeQL and workflow checks; publication jobs correctly skipped. No local Docker or Cargo run was performed.

Parent-coordinated blocking repair for Rust PR #322. New trusted-main producer output and refreshed Rust consumer pins/packaging qualification remain parent-owned follow-up after merge.

Refs: emulebb/emulebb-rust#302, emulebb/emulebb-rust#322 (RUST-CI-045)

Threepwood-7 added 2 commits November 12, 2026 09:40
Install external file explicitly for both native AppImage profiles. Exercise
the production packaging helper with the pinned runtime, bounded assembly
and no-FUSE extraction, verifying neutral payload bytes as a non-root image probe.

Refs: emulebb/emulebb-rust#302, emulebb/emulebb-rust#322
…-CI-045)

Share native recipe arguments with the trusted producer and load an exact
source-owned local image for read-only PR conformance. Exercise the complete
non-root offline probe, retaining the existing OCI identity test and pinned bases.

Refs: emulebb/emulebb-rust#302, emulebb/emulebb-rust#322
@itlezy
itlezy merged commit 7a713ae into main Nov 12, 2026
16 checks passed
@itlezy
itlezy deleted the fix/prepared-appimage-tools branch November 12, 2026 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant