feat(ci): refactor pipelines — hadolint, PR checks, tag releases, nightly rebuild #10

Merged
jcabillot merged 5 commits from fix/refactor-ci-pipelines into master 2026-06-12 17:59:53 -04:00
Owner

Summary

Refactor the CI pipeline by splitting the monolithic docker-build.yaml into four focused workflows inspired by the perso/htpasswd templates:

Workflows

File Trigger Purpose
pr.yaml Pull requests to master Hadolint linting + build & test
main.yaml Push to master Full pipeline: lint → build/push → test → auto tag
tag.yaml Tag push (*) Lint + build/push with tag-based Docker metadata
cron.yaml Schedule (0 0 * * *) Nightly rebuild using latest + latest semver tag

Key Details

  • Image: jcabillot/iperf3
  • Tests: bash tests/test.sh
  • SHAs pinned to exact commits (no floating tags)
  • Uses docker/metadata-action for consistent tag generation
  • Nightly rebuild detects and re-pushes the latest semver tag alongside latest

Changes

  • Deleted: .gitea/workflows/docker-build.yaml (old combined workflow)
  • Added: .gitea/workflows/pr.yaml
  • Added: .gitea/workflows/main.yaml
  • Added: .gitea/workflows/tag.yaml
  • Added: .gitea/workflows/cron.yaml
## Summary Refactor the CI pipeline by splitting the monolithic `docker-build.yaml` into four focused workflows inspired by the `perso/htpasswd` templates: ### Workflows | File | Trigger | Purpose | |------|---------|---------| | `pr.yaml` | Pull requests to `master` | Hadolint linting + build & test | | `main.yaml` | Push to `master` | Full pipeline: lint → build/push → test → auto tag | | `tag.yaml` | Tag push (`*`) | Lint + build/push with tag-based Docker metadata | | `cron.yaml` | Schedule (`0 0 * * *`) | Nightly rebuild using `latest` + latest semver tag | ### Key Details - **Image**: `jcabillot/iperf3` - **Tests**: `bash tests/test.sh` - **SHAs pinned** to exact commits (no floating tags) - Uses `docker/metadata-action` for consistent tag generation - Nightly rebuild detects and re-pushes the latest semver tag alongside `latest` ### Changes - **Deleted**: `.gitea/workflows/docker-build.yaml` (old combined workflow) - **Added**: `.gitea/workflows/pr.yaml` - **Added**: `.gitea/workflows/main.yaml` - **Added**: `.gitea/workflows/tag.yaml` - **Added**: `.gitea/workflows/cron.yaml`
cloudix_mcp_server added 5 commits 2026-06-12 16:42:04 -04:00
jcabillot merged commit 66c3a4ffcd into master 2026-06-12 17:59:53 -04:00
jcabillot deleted branch fix/refactor-ci-pipelines 2026-06-12 17:59:54 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: perso/iperf3#10