Skip to content

ci: Optimize staging builds with Docker (Linux) and caching (macOS)#659

Merged
lucksus merged 1 commit intostagingfrom
ci/staging-build-optimization
Feb 9, 2026
Merged

ci: Optimize staging builds with Docker (Linux) and caching (macOS)#659
lucksus merged 1 commit intostagingfrom
ci/staging-build-optimization

Conversation

@data-coasys
Copy link
Copy Markdown
Contributor

Summary

Optimizes the staging publish workflow for faster CI runs. Test this on staging before applying to production.

Changes

Linux Builds → Docker Container

All Linux jobs now use coasys/ad4m-ci-linux:

  • build-launcher-binary-linux
  • npm-publish
  • crates-publish

Eliminates ~15 setup steps per job (Rust, Go, Deno, Python, apt-get, pnpm, etc.)

macOS Builds → Aggressive Caching

Docker not available on GH Actions macOS, so using:

  • Swatinem/rust-cache for Cargo/target (biggest win)
  • pnpm cache via setup-node
  • Homebrew cache for protobuf/cmake
  • Go module cache

Other

  • Split matrix into separate platform-specific jobs (cleaner)
  • Fixed prerelease detection (*-* catches 0.11.2-dev.4)
  • Removed Windows builds (were already disabled)
  • Updated deprecated actions (v2 → v3)

Workflow Size

475 lines → 146 lines (-70%)

Testing

Once merged to staging, the workflow will trigger automatically. We can verify:

  1. All jobs complete successfully
  2. Artifacts are uploaded correctly
  3. Build times are improved

After validation, apply the same changes to publish.yml (production).

Linux builds:
- Use Docker container (coasys/ad4m-ci-linux) for all Linux jobs
- Applies to: build-launcher-binary-linux, npm-publish, crates-publish
- Eliminates ~15 setup steps per job

macOS builds:
- Swatinem/rust-cache for Cargo/target caching
- pnpm caching via setup-node
- Homebrew cache for protobuf/cmake
- Go module caching

Other:
- Split matrix into separate platform-specific jobs
- Fixed prerelease detection (*-* pattern)
- Preserved all commented code (Apple signing, Windows builds, etc.)
- Updated deprecated actions to v3
@data-coasys data-coasys force-pushed the ci/staging-build-optimization branch from 691040f to 73a3429 Compare February 9, 2026 14:58
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 9, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci/staging-build-optimization

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

steps:
- uses: actions/checkout@v3

- run: rustup target add wasm32-unknown-unknown
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this not included in our Dockerimage?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is so we could remove it here.

@lucksus lucksus merged commit ad56d50 into staging Feb 9, 2026
1 of 2 checks passed
lucksus added a commit that referenced this pull request Feb 18, 2026
Adds 21 entries (Fixed ×11, Added ×5, Changed ×5) covering PRs #629#680
merged after the 0.11.1 release. CI-only PRs (#656, #657, #659) omitted.
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.

2 participants