From 0c988df7e85cc93dc16e8fad106f9039d3e33d9e Mon Sep 17 00:00:00 2001 From: mrambossek Date: Thu, 30 Jul 2026 15:41:25 +0200 Subject: [PATCH] =?UTF-8?q?ci:=20split=20server=20test=20and=20release=20w?= =?UTF-8?q?orkflows=20=E2=80=94=20mixed=20paths+tags=20never=20fired?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A push trigger that declares tags: stops matching branch pushes, and the paths filter doesn't apply to tag pushes — so the combined workflow could effectively never run. test-server.yml now covers branch pushes touching server/; build-server.yml is tags-only (server-v*). Co-Authored-By: Claude Opus 5 --- .gitea/workflows/build-server.yml | 17 ++--------------- .gitea/workflows/test-server.yml | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 15 deletions(-) create mode 100644 .gitea/workflows/test-server.yml diff --git a/.gitea/workflows/build-server.yml b/.gitea/workflows/build-server.yml index 822ae47..d7f30ad 100644 --- a/.gitea/workflows/build-server.yml +++ b/.gitea/workflows/build-server.yml @@ -1,4 +1,4 @@ -# Server CI: tests on every push touching server/; on server-v* tags builds +# Server RELEASE: on server-v* tags builds # and pushes the container image to the Gitea registry AND attaches static # binaries to a Gitea release (the artifact --self-update consumes). # @@ -8,26 +8,13 @@ # Required secrets: none beyond the built-in GITHUB_TOKEN — it can push to # the registry of its own repo and create releases. -name: server +name: server-release on: push: - paths: ["server/**", ".gitea/workflows/build-server.yml"] tags: ["server-v*.*.*"] jobs: - test: - runs-on: ubuntu-latest - defaults: { run: { working-directory: server } } - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: { go-version: "1.26", cache-dependency-path: server/go.mod } - - run: go vet ./... - - run: go test ./... - release: - if: startsWith(github.ref, 'refs/tags/server-v') - needs: test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/.gitea/workflows/test-server.yml b/.gitea/workflows/test-server.yml new file mode 100644 index 0000000..b16bbca --- /dev/null +++ b/.gitea/workflows/test-server.yml @@ -0,0 +1,21 @@ +# Runs the server tests on every branch push touching server/. +# Release builds live in build-server.yml (server-v* tags) — kept separate +# because mixing `paths` and `tags` filters under one `push` trigger makes +# branch pushes stop matching (tags-only semantics). + +name: server-test +on: + push: + branches: [main, master] + paths: ["server/**", ".gitea/workflows/test-server.yml"] + +jobs: + test: + runs-on: ubuntu-latest + defaults: { run: { working-directory: server } } + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: { go-version: "1.26", cache-dependency-path: server/go.mod } + - run: go vet ./... + - run: go test ./...