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

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

CI Pipeline Migration

Split the old monolithic docker-build.yaml into four focused workflow files:

Workflow Triggers Steps
pr.yaml pull_request hadolint (continue-on-error) → build → test
main.yaml push to master hadolint (continue-on-error) → build-push → test → tag
tag.yaml push tags v* hadolint (continue-on-error) → build-push (with semver tags)
cron.yaml schedule 0 0 * * * hadolint (continue-on-error) → build-push (latest + sha)

Changes

  • Added .gitea/workflows/pr.yaml — PR validation workflow
  • Added .gitea/workflows/main.yaml — main branch build, push, test, and auto-tag
  • Added .gitea/workflows/tag.yaml — version tag build and push with semver tagging
  • Added .gitea/workflows/cron.yaml — nightly rebuild to keep base image fresh
  • Deleted .gitea/workflows/docker-build.yaml — old monolithic workflow

Key improvements

  • Each workflow has a clear single responsibility
  • pr.yaml validates PRs without pushing images
  • tag.yaml uses docker/metadata-action for proper semver tagging
  • cron.yaml uses docker/setup-buildx-action and docker/build-push-action
  • All workflows use continue-on-error: true for hadolint linting

Notes

  • Docker Hub image: jcabillot/mysql-client
  • Cron schedule: daily at midnight (0 0 * * *)
  • All SHA pins preserved as specified
## CI Pipeline Migration Split the old monolithic `docker-build.yaml` into four focused workflow files: | Workflow | Triggers | Steps | |---|---|---| | `pr.yaml` | `pull_request` | hadolint (continue-on-error) → build → test | | `main.yaml` | `push` to `master` | hadolint (continue-on-error) → build-push → test → tag | | `tag.yaml` | `push` tags `v*` | hadolint (continue-on-error) → build-push (with semver tags) | | `cron.yaml` | schedule `0 0 * * *` | hadolint (continue-on-error) → build-push (latest + sha) | ### Changes - **Added** `.gitea/workflows/pr.yaml` — PR validation workflow - **Added** `.gitea/workflows/main.yaml` — main branch build, push, test, and auto-tag - **Added** `.gitea/workflows/tag.yaml` — version tag build and push with semver tagging - **Added** `.gitea/workflows/cron.yaml` — nightly rebuild to keep base image fresh - **Deleted** `.gitea/workflows/docker-build.yaml` — old monolithic workflow ### Key improvements - Each workflow has a clear single responsibility - `pr.yaml` validates PRs without pushing images - `tag.yaml` uses `docker/metadata-action` for proper semver tagging - `cron.yaml` uses `docker/setup-buildx-action` and `docker/build-push-action` - All workflows use `continue-on-error: true` for hadolint linting ### Notes - Docker Hub image: `jcabillot/mysql-client` - Cron schedule: daily at midnight (`0 0 * * *`) - All SHA pins preserved as specified
cloudix_mcp_server added 5 commits 2026-06-12 16:08:42 -04:00
jcabillot merged commit 7358031c06 into master 2026-06-12 16:17:31 -04:00
jcabillot deleted branch fix/refactor-ci-pipelines 2026-06-12 16:17:32 -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/mysql-client#9