ci/docs: add act local CI workflow support to all build pipelines - #6
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 699148fd04
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ```bash | ||
| act push \ | ||
| -W .github/workflows/build-guacamole-rootfs.yml \ | ||
| --no-cache-server |
There was a problem hiding this comment.
Keep act's cache server enabled
Remove --no-cache-server from this command and the equivalent commands in the other new README sections. The workflows always configure cache-from/cache-to: type=gha; Docker documents that this backend requires a cache URL and runtime token, while act defines this flag as disabling its local cache server (Docker cache authentication, act flag definition). With no GitHub runtime credentials supplied, the documented invocation leaves BuildKit without a usable cache endpoint and the build fails rather than producing the promised local image.
Useful? React with 👍 / 👎.
| load: false | ||
| push: ${{ github.event_name != 'pull_request' }} | ||
| tags: ${{ steps.meta.outputs.tags }} | ||
| load: ${{ !!env.ACT }} |
There was a problem hiding this comment.
Restrict local loads to one platform
When act sets ACT, this enables load while the build still targets both linux/amd64 and linux/arm64; the Ubuntu workflow has the same combination. Docker documents --load as loading a single-platform result and notes that the default Engine image store cannot load multi-platform images (Buildx --load documentation). Consequently, the documented local run fails on standalone/classic Docker installations; select the host platform for act runs or use a multi-platform-capable output/store.
Useful? React with 👍 / 👎.
Summary
Introduces
act-aware guards to allbuild-*.ymlworkflows so the full CI pipeline can be run locally without GHCR credentials, and updates all corresponding READMEs with a Local CI Workflow Testing withactsection.Workflow Changes (6 files)
Applied the same 4-change pattern to all remaining
build-*.ymlfiles (already present inbuild-dev-machine-rootfs.yml):Log in to GHCRif: ${{ !env.ACT }}Extract metadataif: ${{ !env.ACT }}Build and pushload,push, andtagsmadeact-awareImage digestif: ${{ !env.ACT }}Files updated:
.github/workflows/build-dev-cicd-rootfs.yml.github/workflows/build-guacamole-rootfs.yml.github/workflows/build-jenkins-rootfs.yml.github/workflows/build-nexus-rootfs.yml.github/workflows/build-sonarqube-rootfs.yml.github/workflows/build-ubuntu-rootfs.ymlREADME Changes (5 files)
Added Local CI Workflow Testing with
actsection betweenLocal BuildandPublished Imagein each README. Also added the GitHub Actions publish context line toPublished Imagesections where missing.Files updated:
iximiuz/rootfs/jenkins/README.mdiximiuz/rootfs/nexus/README.mdiximiuz/rootfs/sonarqube/README.mdiximiuz/rootfs/ubuntu/README.mdiximiuz/rootfs/guacamole/README.md(also added missingPublished Imagesection)Testing
Verified locally on
build-dev-machine-rootfs.yml:Image builds and loads into local Docker daemon. No secrets required.