ci: gate develop & release image builds on the test suite
Some checks failed
Test / test (pull_request) Has been cancelled

The Docker-image builds ran independently of the Test workflow, so a
failing test would not block publishing the :develop image (or a
release). GitHub Actions `needs:` only works within one workflow, so the
two separate workflows didn't depend on each other.

Make test.yml a reusable workflow (workflow_call) and call it from
develop.yml and release.yml as a `test` job that `build` depends on
(`needs: test`); release's `release` job already needs `build`, so it
waits transitively. test.yml keeps its pull_request trigger for PR
gating; its redundant push:develop trigger is dropped (develop.yml now
calls it on push).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
claude_code
2026-06-21 01:17:27 +03:00
parent 987a4fd32e
commit 0caceb614b
3 changed files with 11 additions and 3 deletions

View File

@@ -18,7 +18,12 @@ env:
IMAGE: ghcr.io/vvzvlad/gitmost IMAGE: ghcr.io/vvzvlad/gitmost
jobs: jobs:
# Run the reusable test suite first so a failing test blocks the image build.
test:
uses: ./.github/workflows/test.yml
build: build:
needs: test
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout

View File

@@ -19,7 +19,12 @@ env:
IMAGE: ghcr.io/vvzvlad/gitmost IMAGE: ghcr.io/vvzvlad/gitmost
jobs: jobs:
# Run the reusable test suite first so a failing test blocks the image build.
test:
uses: ./.github/workflows/test.yml
build: build:
needs: test
strategy: strategy:
matrix: matrix:
include: include:

View File

@@ -2,9 +2,7 @@ name: Test
on: on:
pull_request: pull_request:
push: workflow_call:
branches:
- develop
workflow_dispatch: workflow_dispatch:
concurrency: concurrency: