# docker-build Reusable Gitea Actions workflow: runs [replace-build-vars](https://git.custom-coding.net/templates/replace-build-vars), builds a Docker image, tags it according to the ref and pushes it. ## Usage ```yaml jobs: docker: uses: templates/docker-build/.gitea/workflows/docker.yaml@v1 with: DockerImageDomain: registry.example.com DockerImageOrganisation: my-org DockerImageName: my-app DockerImageVersion: ${{ github.ref_name }} # DockerFilePath: ./Dockerfile secrets: DockerUsername: ${{ secrets.DOCKER_USERNAME }} DockerPassword: ${{ secrets.DOCKER_PASSWORD }} ``` ## Inputs / secrets | Name | Required | Default | Description | |---|---|---|---| | `DockerImageDomain` | yes | | Registry domain | | `DockerImageOrganisation` | yes | | Namespace in the registry | | `DockerImageName` | yes | | Image name | | `DockerImageVersion` | yes | | Value for the `VERSION` build-arg | | `DockerFilePath` | no | `./Dockerfile` | Path to the Dockerfile | | secret `DockerUsername` | yes | | Registry user | | secret `DockerPassword` | yes | | Registry password / token | ## Tags Every build is tagged `:latest`, plus one tag based on the ref: | Ref | Tag | Pushed | |---|---|---| | `master`, `main` | `:` | yes | | `develop`, `feature/*` | branch with `/` → `-` | yes | | git tag | `:` | yes | | pull request | `:pr-` | yes | | any other branch | | no (build only) | ## Versioning Only major tags (`v1`, `v2`, …). Fixes move the existing tag. Changing inputs, secrets or tagging behavior needs a new major tag. History before the move: [UltimateCoder/resuable-workflows](https://git.custom-coding.net/UltimateCoder/resuable-workflows) (`@v1`–`@v3` there remain frozen). ## Entscheidungen Decisions by the owner of the `templates` org: - 2026-10-15: Only major tags (`v1`, `v2`, …), no `vX.Y.Z` tags (see Versioning). - 2026-10-17: All repos in the `templates` org are public, so consumers' runners can fetch them without credentials. They never contain secrets or internal addresses: secrets come in as `secrets:`, hosts as inputs.