2.1 KiB
Gitea CI/CD and Registry Integration
This project uses the Gitea Actions runner and the built-in container registry hosted at https://git.knownelement.com
. The workflow definition lives under .gitea/workflows/ci.yml
and targets the Gitea Actions runtime (1.21+) alongside the built-in container registry available on current releases. The workflow is currently configured for manual workflow_dispatch
runs so all routine testing stays on the local harness until a runner is available. citeturn0search0turn1search0
Prerequisites
- Enable Actions on the Gitea instance and mirror required upstream actions (
actions/checkout@v4
, optional others) via the "Actions" admin panel. citeturn0search0 - Provision a runner (e.g.
act_runner
) with Docker access so jobs can launch containers. citeturn0search5 - Authenticate to the registry by generating a Gitea access token (scope
write:package
) and logging in via Docker:citeturn1search0docker login git.knownelement.com -u <username> -p <token>
Workflow overview
The manual workflow_dispatch
job builds the docker/ci-runner
image, then executes scripts/ci_local.sh
with the requested task list (default all
). This mirrors the local harness, so whatever succeeds locally will succeed in CI.
Re-enable push/PR triggers once a runner is available and
make ci-local
is consistently green.
Container registry usage
- Tag Cloudron packages against the registry namespace, e.g.
git.knownelement.com/knel/cloudron/apache-apisix:<version>
. - The packager helper script reads
IMAGE_NAME
; override it when pushing to the registry:IMAGE_NAME=git.knownelement.com/knel/cloudron-packager BUILD=1 scripts/run_packager.sh docker push git.knownelement.com/knel/cloudron-packager
- Cloudron’s CLI can push directly to the registry once you log in within the packager container.
Future enhancements
- Add
make lint
andmake status
as required checks in Gitea branch protection. - Extend the workflow with matrix builds for priority apps (e.g. run smoke scripts once implemented).