# 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 :`. 3. If `latest=true`, also `docker push :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`).