44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
# 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
|
|
|
|
```yaml
|
|
- 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. |
|
|
| `keep` | no | `3` | Numeric tags to retain. Older are deleted. |
|
|
|
|
## Behavior
|
|
|
|
1. `docker login code.fritzlab.net` as `ci-bot`.
|
|
2. `docker push <image>:<tag>`.
|
|
3. If `latest=true`, also `docker push <image>:latest`.
|
|
4. Prune: list numeric tags from Gitea package API, keep the newest `keep`,
|
|
delete the rest. Failures here do not fail the workflow
|
|
(`continue-on-error: true`).
|