Repository navigation
Releasing
How a change becomes a GitHub release and a Docker image. Useful for maintainers and for forks.
.github/workflows/docker.yml runs on every push and pull request:
- test: the app and platform test suites (Python 3.13, no network).
-
image (pushes and tags only, after the tests pass): builds the app image for
linux/amd64andlinux/arm64with Docker Buildx and pushes it to the GitHub Container Registry:
| Event | Image tags |
|---|---|
push to main
|
latest, sha-<commit>
|
tag v1.2.3
|
1.2.3, 1.2, sha-<commit>
|
| pull request | none (tests only) |
The workflow logs in with the built-in GITHUB_TOKEN (packages: write): no secret to configure.
git tag -a v1.2.0 -m "v1.2.0"
git push origin v1.2.0Then, optionally, gh release create v1.2.0 --generate-notes. Users on :1.2 get it with
./jobagent update; users on :latest already had it from main.
Versioning: MAJOR.MINOR.PATCH. Database changes are applied automatically at start-up, so an
upgrade never needs a manual step; say so in the release notes if one ever does.
The workflow pushes to ghcr.io/<your account>/swiss-job-agent. After the first build:
- GitHub → your profile → Packages →
swiss-job-agent→ Package settings: set the visibility to Public if others should pull it without logging in, and check it is linked to the repository. - Point users at your image:
IMAGE=ghcr.io/<you>/swiss-job-agent:latestin.env, andJOBAGENT_RAW=https://raw.githubusercontent.com/<you>/swiss-job-agent/mainfor./jobagent init.
Pushing a change to a workflow file needs a token with the workflow scope
(gh auth refresh -s workflow for the GitHub CLI).
gh run list --workflow docker-image
gh run watch
docker pull ghcr.io/nigifabio/swiss-job-agent:latest
docker inspect --format '{{index .Config.Labels "org.opencontainers.image.revision"}}' ghcr.io/nigifabio/swiss-job-agent:latestSwiss Job Agent
- Home
- Installation
- Docker image & jobagent
- User guide
- Sources
- Profiles, CVs and letters
- Platform
- Releasing
- Security
These pages are generated from docs/ in the repo: edit them there.