Run and lint GitHub Actions workflows locally — the act CLI and the
actionlint linter — plus the guestfs-tools package.
github-actions installs the toolchain you need to execute a workflow on your
own machine before pushing it: act runs the
workflow in a container, and
actionlint statically validates the
workflow file. Both are pinned release binaries fetched from their upstream
GitHub releases during the image build, so each lands at a fixed path and
self-reports a version — its presence and operability are directly verifiable.
| Property | Value |
|---|---|
| Layer / candy | github-actions |
| Distro | all (release binaries are distro-agnostic) |
| Binaries | act (pinned 0.2.89) at /usr/bin/act; actionlint (pinned 1.7.12) at /usr/local/bin/actionlint |
| Package | guestfs-tools |
| Service / port | none |
Compose the layer by pinning this repo in a box's candy: list:
my-ci-box:
candy:
base: fedora
candy:
- '@github.com/opencharly/layer-github-actions:v2026.242.1323'Then, inside the built image:
act --version # act version 0.2.89
actionlint -version # 1.7.12
rpm -q guestfs-tools # package presencecharly.yml— thegithub-actions:candy entity: the pinnedACT_VERSION/ACTIONLINT_VERSIONvars, the twodownload:steps, theguestfs-toolspackage, and thecheck:steps..github/workflows/tag-on-merge.yml— CalVer tag +CHANGELOG/on merge.README.md— this user overview.
- Family skill:
/charly-coder:github-actions /charly-distros:github-runner— a self-hosted Actions runner (distinct fromact)/charly-coder:docker-ce— a common companion foractworkflow executionopencharly/charly— the charly CLI and image builderopencharly/opencharly— the umbrella