Skip to content

ci: split test and Docker workflows for independent maintenance - #27

Merged
Skulldorom merged 1 commit into
mainfrom
hermes/split-ci-workflows
Jul 20, 2026
Merged

ci: split test and Docker workflows for independent maintenance#27
Skulldorom merged 1 commit into
mainfrom
hermes/split-ci-workflows

Conversation

@Skulldorom

Copy link
Copy Markdown
Owner

Summary

Splits the monolithic CI workflow into two independent files:

.github/workflows/test.yml — runs on every PR and push to main. Tests only, no Docker.
.github/workflows/docker.yml — triggers via workflow_run only when tests pass on main. Builds and publishes the Docker image.

Design

Trigger What runs
PR opened/updated Tests only (fast feedback, no image build)
Push to main Tests → if pass → Docker build+push
Push to other branches Nothing (no wasted CI)

The Docker workflow uses workflow_run with conclusion == 'success' gating so the image is only published after verified tests on main.

Why

  • Tests and Docker are now independently maintainable — no more editing the same file for both concerns
  • Running tests on PR doesn't need to know about Docker infrastructure
  • The two badge approach (test + Docker) gives visibility into both pipelines

README badges

[![Tests](.../test.yml/badge.svg)](...)
[![Docker](.../docker.yml/badge.svg)](...)

Note: the Docker badge will show "no status" until this PR is merged and the workflow_run triggers for the first time on main.

- Extract tests into .github/workflows/test.yml (runs on PR + push to main)
- Docker build+push now triggers via workflow_run only when tests pass on main
- Tests can run without building an image; build+push gated behind test success
- Update README badge to point to test.yml
@Skulldorom
Skulldorom marked this pull request as ready for review July 20, 2026 10:30
@Skulldorom
Skulldorom merged commit 86de8be into main Jul 20, 2026
1 check passed
@Skulldorom
Skulldorom deleted the hermes/split-ci-workflows branch July 20, 2026 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant