1.7 KiB
1.7 KiB
action/image-build
Composite Gitea Action that builds a container image with buildx and optionally
runs a smoke test. Does not push — pair with action/image-push to publish.
Splitting build from push lets a PR workflow run image-build (no secrets, no
side effects) for validation while main runs the full build → push → deploy
chain.
Usage
- uses: actions/checkout@v4
- uses: https://code.fritzlab.net/action/image-build@v1
with:
image: code.fritzlab.net/fritzlab/chrony
smoke-test: docker run --rm --entrypoint /usr/sbin/chronyd $IMAGE -v
The image is built and tagged as <image>:<github.run_number> in the runner's
local Docker daemon. Subsequent steps (e.g. action/image-push) can reference
the same tag.
Inputs
| Name | Required | Default | Description |
|---|---|---|---|
image |
yes | — | Full image name without tag (e.g. code.fritzlab.net/fritzlab/chrony). |
context |
no | . |
Docker build context. |
build-args |
no | — | Multiline KEY=VALUE build args. |
smoke-test |
no | — | Shell command run after build. $IMAGE is set to <image>:<run_number>. Non-zero exit fails the action. |
Outputs
| Name | Description |
|---|---|
tag |
Numeric tag assigned (= github.run_number). |
Smoke test patterns
Override entrypoint for a binary that expects no args:
smoke-test: docker run --rm --entrypoint /usr/sbin/chronyd $IMAGE -v
Run a help command that returns non-zero:
smoke-test: docker run --rm $IMAGE --help || true
Multiple checks chained:
smoke-test: |
docker run --rm $IMAGE --version
docker run --rm --entrypoint /bin/sh $IMAGE -c 'test -x /usr/local/bin/myapp'