Fixes bug-bkhzrg4dzz00 Authored-By: Codex (GPT-6) <noreply@openai.com>
action/image-push
Composite Gitea Action that pushes a locally-built image to
code.fritzlab.net and prunes old numeric tags via the Gitea package API.
Pair with action/image-build — image-build loads the image to the runner's
local Docker daemon, image-push uploads it.
Usage
- uses: actions/checkout@v4
- uses: https://code.fritzlab.net/action/image-build@v1
with:
image: code.fritzlab.net/fritzlab/chrony
- uses: https://code.fritzlab.net/action/image-push@v1
with:
image: code.fritzlab.net/fritzlab/chrony
token: ${{ secrets.CI_BOT_TOKEN }}
org: fritzlab
name: chrony
Inputs
| Name | Required | Default | Description |
|---|---|---|---|
image |
yes | — | Full image name without tag. |
tag |
no | github.run_number |
Tag to push (must already exist locally). |
token |
yes | — | CI_BOT_TOKEN — registry login + cleanup API. |
org |
yes | — | Gitea org for package API (fritzlab, dns). |
name |
yes | — | Package name as registered in the registry. |
latest |
no | true |
Also push a :latest tag. |
prune |
no | true |
Prune old numeric registry tags. Set false for retained or independently pinned artifacts. |
keep |
no | 3 |
Numeric tags to retain. Older are deleted. |
Behavior
docker login code.fritzlab.netasci-bot.docker push <image>:<tag>.- If
latest=true, alsodocker push <image>:latest. - If
prune=true, list numeric tags from Gitea package API, keep the newestkeep, delete the rest. Failures here do not fail the workflow (continue-on-error: true).
prune accepts only the strings true and false; invalid input fails before
registry login or push. With false, remote package listing and deletion are
skipped. Image upload and local Docker cleanup remain unchanged. The action does
not discover deployment pins; owners choosing pruning must account for that
retention contract.
Run python3 -m unittest discover -s tests with the pinned test dependencies in
tests/requirements.txt. Tests inspect the composite action and execute only
its credential-free validation step; no registry or package deletion runs.