- Shell 79.7%
- Dockerfile 20.3%
The builder image could be used to build debian packages. Preinstalling this tool makes it feasible to do so on the same basis as most other build tasks - it's faster if it's already there, but it works even if it's not. |
||
|---|---|---|
| .forgejo/default_merge_message | ||
| prep | ||
| .dockerignore | ||
| Dockerfile | ||
| README.md | ||
Pilcrow build image for Forgejo Actions
This repo contains the definition for the Docker container used in Pilcrow's automated testing pipeline. To save some build time, the resulting container comes with the project's build dependencies pre-installed:
- NodeJS and NPM, required for Pilcrow's asset build and for common Forejo Actions actions.
- Clippy (in the default Rust release), for lints.
- Nightly, as of the container's build date.
- Rustfmt (in the Nightly release), for formatting checks.
- The
sqlx-clitools, forcargo sqlx …commands.
The underlying image is rust's stable version.
Building
To build a scratch image:
docker build --tag forge.grimoire.ca/pilcrow/builder:latest .
Releasing
-
Create a release in Forgejo. The conventional tag name is
YYYY-MM-DD-N, whereYYYY-MM-DDis the current year, month, and day (eg.2026-05-12), andNis incremented starting from1if there are multiple releases on the same day.The setting "Use the title and content of release as tag message." must be enabled, to create an annotated tag for the release. The following
git describesteps assume that the release tag is annotated. -
Fetch tags:
git fetch --all -
Build the container:
git checkout YYYY-MM-DD-N docker builder prune docker build \ --pull \ --platform linux/amd64 \ --tag forge.grimoire.ca/pilcrow/builder:$(git describe) \ . -
Publish the container:
docker push \ --platform linux/amd64 \ forge.grimoire.ca/pilcrow/builder:$(git describe) -
(Optional) check out your working branch again:
git checkout -