chore: migrate to standard 4-workflow Gitea Actions pattern #5

Open
cloudix_mcp_server wants to merge 11 commits from fix/workflow-standard into master
Owner

Summary

Migrate from the artifact-based single-workflow pattern to the standard htpasswd 4-workflow pattern for Docker CI/CD on Gitea Actions.

Changes

Created 4 workflow files under .gitea/workflows/:

main.yaml — Push to master

  • Jobs: hadolint → test → build → tag
  • Lints Dockerfile, builds test image, builds production image with SHA tag, bumps semver patch via github-tag-action
  • Image: jcabillot/unrar:${{ github.sha }}
  • RELEASE_BRANCHES: master

cron.yaml — Scheduled nightly rebuild

  • Cron: 0 0 * * * (daily at midnight)
  • Jobs: hadolint → test → build-push
  • Authenticates to Docker Hub, fetches latest git tag, publishes jcabillot/unrar:latest and jcabillot/unrar:<tag>-latest

pr.yaml — Pull request checks

  • Jobs: hadolint → build-test
  • Lints Dockerfile, builds image (no push, no test scripts)

tag.yaml — Tag release (push to v*)

  • Jobs: hadolint → test → build-push
  • Authenticates to Docker Hub, publishes jcabillot/unrar:<tag> and jcabillot/unrar:<tag>-latest

Key improvements over artifact pattern

  • No artifact upload/download — each job builds what it needs
  • docker/setup-buildx-action for modern builder env
  • docker/metadata-action for clean tag generation
  • docker/build-push-action replaces manual docker tag + docker push
  • docker/login-action for secure Docker Hub auth
  • github-tag-action for automatic semver versioning on master pushes

Action SHAs used

Action SHA
actions/checkout df4cb1c069e1874edd31b4311f1884172cec0e10
hadolint/hadolint-action 54c9adbab1582c2ef04b2016b760714a4bfde3cf
docker/setup-buildx-action d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5
docker/login-action 650006c6eb7dba73a995cc03b0b2d7f5ca915bee
docker/metadata-action 80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9
docker/build-push-action f9f3042e7f2789586610d6e8b85c8f03e5195baf
anothrNick/github-tag-action 4ed44965e0db8dab2b466a16da04aec3cc312fd8

Note: No test scripts (tests/test.sh) were created — the test jobs run docker build -t ci-image:${{ github.sha }} . only.

## Summary Migrate from the artifact-based single-workflow pattern to the standard htpasswd 4-workflow pattern for Docker CI/CD on Gitea Actions. ## Changes Created 4 workflow files under `.gitea/workflows/`: ### `main.yaml` — Push to master - **Jobs**: hadolint → test → build → tag - Lints Dockerfile, builds test image, builds production image with SHA tag, bumps semver patch via `github-tag-action` - **Image**: `jcabillot/unrar:${{ github.sha }}` - **RELEASE_BRANCHES**: master ### `cron.yaml` — Scheduled nightly rebuild - **Cron**: `0 0 * * *` (daily at midnight) - **Jobs**: hadolint → test → build-push - Authenticates to Docker Hub, fetches latest git tag, publishes `jcabillot/unrar:latest` and `jcabillot/unrar:<tag>-latest` ### `pr.yaml` — Pull request checks - **Jobs**: hadolint → build-test - Lints Dockerfile, builds image (no push, no test scripts) ### `tag.yaml` — Tag release (push to `v*`) - **Jobs**: hadolint → test → build-push - Authenticates to Docker Hub, publishes `jcabillot/unrar:<tag>` and `jcabillot/unrar:<tag>-latest` ## Key improvements over artifact pattern - **No artifact upload/download** — each job builds what it needs - **`docker/setup-buildx-action`** for modern builder env - **`docker/metadata-action`** for clean tag generation - **`docker/build-push-action`** replaces manual `docker tag` + `docker push` - **`docker/login-action`** for secure Docker Hub auth - **`github-tag-action`** for automatic semver versioning on master pushes ## Action SHAs used | Action | SHA | |---|---| | `actions/checkout` | `df4cb1c069e1874edd31b4311f1884172cec0e10` | | `hadolint/hadolint-action` | `54c9adbab1582c2ef04b2016b760714a4bfde3cf` | | `docker/setup-buildx-action` | `d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5` | | `docker/login-action` | `650006c6eb7dba73a995cc03b0b2d7f5ca915bee` | | `docker/metadata-action` | `80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9` | | `docker/build-push-action` | `f9f3042e7f2789586610d6e8b85c8f03e5195baf` | | `anothrNick/github-tag-action` | `4ed44965e0db8dab2b466a16da04aec3cc312fd8` | **Note**: No test scripts (`tests/test.sh`) were created — the test jobs run `docker build -t ci-image:${{ github.sha }} .` only.
cloudix_mcp_server added 4 commits 2026-06-13 18:19:14 -04:00
cloudix_mcp_server added 1 commit 2026-06-13 19:13:18 -04:00
cloudix_mcp_server added 1 commit 2026-06-13 19:13:23 -04:00
fix: rewrite cron.yaml to standard htpasswd pattern with correct SHAs
PR / hadolint (pull_request) Successful in 9s
PR / build-test (pull_request) Failing after 16s
fe46afb2ee
cloudix_mcp_server added 1 commit 2026-06-13 19:13:29 -04:00
fix: rewrite pr.yaml to standard htpasswd pattern with correct SHAs (build-only)
PR / hadolint (pull_request) Successful in 7s
PR / build-test (pull_request) Failing after 13s
3d1fa54771
cloudix_mcp_server added 1 commit 2026-06-13 19:13:32 -04:00
fix: rewrite tag.yaml to standard htpasswd pattern with correct SHAs
PR Checks / hadolint (pull_request) Failing after 11m20s
PR Checks / build-test (pull_request) Failing after 17s
c29a79f382
cloudix_mcp_server added 1 commit 2026-06-13 21:12:12 -04:00
fix: correct hadolint SHA, remove test.sh (no tests in repo)
PR Checks / hadolint (pull_request) Failing after 2s
PR Checks / build-test (pull_request) Failing after 12s
0ec02f46e2
cloudix_mcp_server added 1 commit 2026-06-13 21:12:31 -04:00
fix: correct hadolint SHA in pr.yaml
PR Checks / hadolint (pull_request) Successful in 7s
PR Checks / build-test (pull_request) Failing after 12s
dfa7e68730
cloudix_mcp_server added 1 commit 2026-06-14 10:54:18 -04:00
fix: compile unrar from source (package not available in Alpine repos)
PR Checks / hadolint (pull_request) Successful in 6s
PR Checks / build-test (pull_request) Successful in 52s
45af418a38
Some checks are pending
PR Checks / hadolint (pull_request) Successful in 6s
PR Checks / build-test (pull_request) Successful in 52s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/workflow-standard:fix/workflow-standard
git checkout fix/workflow-standard
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/unrar-arm64#5