Skip to content

fix(ci): reduce redundant builds and bound dependency acquisition - #226

Merged
f0rr0 merged 9 commits into
mainfrom
f0rr0/fix-ci-cache-reuse
Oct 1, 2026
Merged

f0rr0 merged 9 commits into
mainfrom
f0rr0/fix-ci-cache-reuse

Conversation

@f0rr0

@f0rr0 f0rr0 commented Sep 29, 2026 •

Copy link
Copy Markdown
Owner

Summary

CI repeats compilation after artifact transfers, provisions tools in jobs that do not need them, and lets acquisition retries run without a shared deadline. This change reduces that work while preserving platform qualification and strengthening release evidence.

  • Reuse WASIX builders/compiler outputs and Android support artifacts; correct Postmaster Cargo cache paths, propagate cache-save policy, and skip Moon output-cache transfers in 11 jobs without reusable local tasks.
  • Narrow build inputs, overlap independent dependency-ready work, and let WASIX consumers wait only for their host's artifacts. Parallel planner observations produce the same 93 results in 59.3s versus 92.6s locally; total hosted savings remain unmeasured.
  • Share bounded acquisition budgets across retries, mirrors, locks and subprocesses. Preserve checksum verification and transactional installation; fix Windows GNU timer discovery and macOS/Bash 3.2 compatibility.
  • Consolidate installed-app CI/replay around current-launch structured receipts, removing Maestro's status-label polling and unnecessary tool provisioning.
  • Wire five SDK runtime suites into artifact-consuming jobs, bind native lifecycle evidence into release candidates, and retain required WASIX lifecycle coverage.
  • Name source-job batches after their components, adding task names to distinguish repeated components; preserve release gates and public dispatch inputs.
  • Scope the WASIX build profile to its producer job so source planning stays file-driven; preserve explicit environment-input triggers when interpreting Moon results.
  • Run already-planned Moon tasks against HEAD without fetching base history. Remove duplicate lifecycle evidence validation while retaining candidate identity and all five modes. Make Wasmer pipe reads yield on contention and retain executor wakeups delivered before a worker parks during seed-free initialization.

Release Intent

  • The fix(ci): title carries release intent for affected build/package inputs; public APIs and upstream dependency versions are unchanged; the existing virtual-fs and virtual-mio dependencies are explicitly pinned for the browser pipe and executor fixes.
  • Generated evidence and release/affected-selection contracts are updated; the exact-commit release-intent check passes.

Verification

  • Full CI policy command (ci-workflows:check and release-tools:metadata) from a fresh checkout, with caching disabled and literal environment values read from the workflow: workflow/security gate, 67 planner tests, eight artifact-transfer/policy tests and real Moon scheduling fixtures. The scheduling fixture owns its workspace root and initial branch; its CI/PR environment is exercised locally under Bash 5 and Bash 3.2, including with a different host Git default branch.

  • Source acquisition, bootstrap/mobile setup, LLVM, Docker installer, WASIX orchestration and cache/receipt fault tests.

  • Release metadata/implementation checks; React Native and WASIX TypeScript owner checks and package validation; five SDK runtime suites exercised locally against real payloads.

  • Real pinned Docker builder: APT transaction, compiler installation and version checks passed. Full browser-host compilation, WASM optimization and Rollup passed under Bash 3.2; warm output reuse also passed.

  • Nonblocking pipe regression: forced lock contention yields and schedules another poll, then preserves partial reads and EOF; the original blocking implementation stalls under the same test. Rebuilt the source-pinned host and packed SDK, then passed both source/PostGIS and packed browser smoke tests with two CPU cores.

  • Executor wake regression fails with the original implementation and passes with retained notifications. Rebuilt the pinned browser host, validated its SDK package, and passed 20 consecutive seed-free ICU initializations in Chrome 153 with two CPU cores. The owner browser task passed source/PostGIS/OPFS and packed-package checks; the packed tools browser smoke also passed pg_dump/psql behavior. One local Chrome launch crashed before exposing a page; the unchanged browser task passed on rerun.

Hosted qualification of the latest commit and equivalent cold/warm CI timings remain pending. Bash 3.2 checks ran on Linux. Local WASIX resource tests used unchanged baseline runtime/resources; they are not exact-commit release qualification. Distinct Postmaster compile profiles and large-cache pruning remain measurement-driven follow-ups.

@vercel

vercel Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
oliphaunt-docs Ready Ready Preview Oct 1, 2026 2:12am UTC

@f0rr0
f0rr0 force-pushed the f0rr0/fix-ci-cache-reuse branch from 4ab24d8 to f9e3282 Compare October 1, 2026 02:11
@f0rr0
f0rr0 merged commit a702d56 into main Oct 1, 2026
1 of 3 checks passed
@f0rr0
f0rr0 deleted the f0rr0/fix-ci-cache-reuse branch October 1, 2026 02:12

This branch was successfully deployed

1 active deployment
Preview — f9e32827 Deployed Oct 1, 2026 by vercel[bot]
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