Standardize workflows to htpasswd pattern #12

Merged
jcabillot merged 9 commits from fix/workflow-standard into master 2026-06-13 22:15:44 -04:00
Owner

Transforms all 4 Gitea Actions workflow files to match the standard pattern from perso/htpasswd.

Changes

main.yamlpush to master

  • Renamed to Main Release
  • Pipeline: hadolinttestbuild (no push) → tag
  • hadolint: uses dockerfile: Dockerfile param, continues on error
  • test: builds ci-image with buildx setup, runs tests
  • build: builds jcabillot/docker-dynhost:${{ github.sha }} without pushing
  • tag: checkout with fetch-depth: 0, configures git auth with SA_TOKEN_ACTION_PUSH_TAGS, semver tag via anothrNick/github-tag-action

cron.yaml — Nightly rebuild

  • Preserves original schedule: 0 0 * * *
  • Pipeline: hadolinttestbuild-push
  • build-push: gets latest semver tag, metadata produces $TAG-latest only (no :latest)
  • Login via DOCKERHUB_USERNAME/DOCKERHUB_TOKEN secrets

tag.yaml — Tag release

  • Pipeline: hadolinttestbuild-push
  • build-push: metadata produces type=ref,event=tag + type=ref,event=tag,suffix=-latest
  • Uses pull: true on build-push for cache
  • Login via Docker Hub secrets

pr.yaml — PR checks

  • Scoped to pull_request: branches: [master]
  • Pipeline: hadolint (no continue-on-error) → build-test
  • hadolint: uses dockerfile: Dockerfile param
  • build-test: builds ci-image, runs tests

Why

Aligns docker-dynhost with the standardized Gitea Actions workflow pattern used across the perso org (htpasswd, offlineimap, etc.). Removes the named-steps style in favor of the leaner # vX comment pattern and consistent pipeline structure.

Transforms all 4 Gitea Actions workflow files to match the standard pattern from perso/htpasswd. ### Changes **main.yaml** — `push` to `master` - Renamed to `Main Release` - Pipeline: `hadolint` → `test` → `build` (no push) → `tag` - `hadolint`: uses `dockerfile: Dockerfile` param, continues on error - `test`: builds `ci-image` with buildx setup, runs tests - `build`: builds `jcabillot/docker-dynhost:${{ github.sha }}` without pushing - `tag`: checkout with `fetch-depth: 0`, configures git auth with `SA_TOKEN_ACTION_PUSH_TAGS`, semver tag via `anothrNick/github-tag-action` **cron.yaml** — Nightly rebuild - Preserves original schedule: `0 0 * * *` - Pipeline: `hadolint` → `test` → `build-push` - `build-push`: gets latest semver tag, metadata produces `$TAG-latest` only (no `:latest`) - Login via `DOCKERHUB_USERNAME`/`DOCKERHUB_TOKEN` secrets **tag.yaml** — Tag release - Pipeline: `hadolint` → `test` → `build-push` - `build-push`: metadata produces `type=ref,event=tag` + `type=ref,event=tag,suffix=-latest` - Uses `pull: true` on build-push for cache - Login via Docker Hub secrets **pr.yaml** — PR checks - Scoped to `pull_request: branches: [master]` - Pipeline: `hadolint` (no `continue-on-error`) → `build-test` - `hadolint`: uses `dockerfile: Dockerfile` param - `build-test`: builds `ci-image`, runs tests ### Why Aligns docker-dynhost with the standardized Gitea Actions workflow pattern used across the perso org (htpasswd, offlineimap, etc.). Removes the named-steps style in favor of the leaner `# vX` comment pattern and consistent pipeline structure.
cloudix_mcp_server added 1 commit 2026-06-13 17:25:50 -04:00
Standardize workflows to htpasswd pattern
PR Checks / hadolint (pull_request) Failing after 3s
PR Checks / build-test (pull_request) Failing after 2s
07de65c37e
Transform all 4 workflow files to match the standard pattern used by
perso/htpasswd (and offlineimap):

main.yaml:
  - Rename to 'Main Release'
  - hadolint (continue-on-error, dockerfile param) → test (build ci-image, run tests)
  → build (no push, just build target image) → tag (fetch-depth 0, git auth with
    SA_TOKEN_ACTION_PUSH_TAGS, semver tagging)

cron.yaml:
  - Keep original schedule '0 0 * * *'
  - hadolint → test → build-push (get-latest-tag, metadata with -latest
    only, no :latest tag)

tag.yaml:
  - hadolint → test → build-push (type=ref,event=tag + suffix=-latest)

pr.yaml:
  - hadolint (no continue-on-error, add dockerfile param) → build-test
  - Scope to pull_request branches: [master]
  - Use ci-image pattern with buildx setup
cloudix_mcp_server added 1 commit 2026-06-13 19:12:41 -04:00
fix: correct all action SHAs in cron.yaml
PR Checks / hadolint (pull_request) Failing after 3s
PR Checks / build-test (pull_request) Failing after 3s
2c25d9e586
cloudix_mcp_server added 1 commit 2026-06-13 19:12:45 -04:00
fix: correct all action SHAs in pr.yaml
PR Checks / hadolint (pull_request) Failing after 2s
PR Checks / build-test (pull_request) Successful in 13s
6184c6acd7
cloudix_mcp_server added 1 commit 2026-06-13 19:12:49 -04:00
fix: correct all action SHAs in tag.yaml
PR Checks / hadolint (pull_request) Failing after 3s
PR Checks / build-test (pull_request) Successful in 15s
93be7e4969
cloudix_mcp_server added 1 commit 2026-06-13 20:26:53 -04:00
fix: remove test.sh from main.yaml test job (no tests/test.sh in repo)
PR Checks / hadolint (pull_request) Failing after 4s
PR Checks / build-test (pull_request) Successful in 16s
1ad543744e
cloudix_mcp_server added 1 commit 2026-06-13 20:26:58 -04:00
fix: remove test.sh from cron.yaml test job (no tests/test.sh in repo)
PR Checks / hadolint (pull_request) Failing after 4s
PR Checks / build-test (pull_request) Successful in 15s
b8801d0994
cloudix_mcp_server added 1 commit 2026-06-13 20:27:01 -04:00
cloudix_mcp_server added 1 commit 2026-06-13 20:27:07 -04:00
fix: remove test.sh from pr.yaml (no tests/test.sh in repo)
PR Checks / hadolint (pull_request) Successful in 6s
PR Checks / build-test (pull_request) Successful in 11s
88889b1238
jcabillot merged commit 680a4464e9 into master 2026-06-13 22:15:44 -04:00
jcabillot deleted branch fix/workflow-standard 2026-06-13 22:15:44 -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/docker-dynhost#12