diff --git a/.gitea/workflows/build-and-publish.yml b/.gitea/workflows/build-and-publish.yml index 1b7542c..2b51e6e 100644 --- a/.gitea/workflows/build-and-publish.yml +++ b/.gitea/workflows/build-and-publish.yml @@ -1,10 +1,30 @@ name: Build and publish container on: + # On merge to main, only build/release when image-affecting files change; + # CI-config, Renovate-config and docs changes do not produce a new image. push: branches: [main] + paths: + - 'Dockerfile' + - 'default.conf' + - 'index.html' + - 'styles.css' + - 'script.js' + - 'messages.js' + - '.dockerignore' + # Pull requests always run (the build is a required check); no path filter. pull_request: branches: [main] + workflow_dispatch: + +# A newer run cancels an older in-flight run in the same group (keyed by ref), +# so a fresh merge to main supersedes the previous build and only the latest +# release is produced, avoiding tags that would be immediately replaced. Each +# pull request likewise supersedes only its own earlier runs. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true defaults: run: