Commit Graph
14 Commits
Author SHA1 Message Date
Linus Rath 55f8772c05 ci: update the GitHub Actions to their current major versions 2026-10-29 01:52:21 +01:00
Linus Rath 545faea1fa ci: give the test, perf guard and branch image workflows a read-only token 2026-10-19 01:32:26 +02:00
Linus Rath 3b4babca4c ci: name workflows and jobs by area 2026-10-11 18:18:36 +02:00
Linus Rath 569c796522 ci: sign published images and release files with build provenance
Nothing showed where a published image or download came from, and the
standalone tarballs had no checksum at all. Anyone who could swap a
release asset could swap its `.sha256` with it.

- every published image (release, `-always`, beta/dev and Lite) gets a
  signed build provenance attestation, pushed to GHCR next to it
- the Lite zips and standalone tarballs are attested as well
- standalone tarballs get a `.sha256`, like the Lite zips
- the tarball build no longer holds a write token: a separate release
  job, which runs no checked-out code, checksums, attests and uploads
- the README says how to check with `gh attestation verify`
2026-09-27 15:22:17 +02:00
Linus Rath 582960ae06 ci: publish latest only from stable releases and scope workflow tokens
A manual run of the release image workflow tagged `latest` on whatever
ref it was dispatched from, and the demo deploy and every Watchtower
install follow `latest`. It now moves only for a published stable
release or a dispatch on a stable `v*` tag.

- `static-lite.yml` gave the whole workflow `contents: write`, including
  the build job that runs pull-request code. The build is read-only
  now; a separate release job with no checkout uploads the zips.
- `docker-publish.yml` passes the ref name through `env` instead of
  interpolating it into the shell script.
2026-09-26 16:30:23 +02:00
Linus Rath 599fa66822 fix: show git commit in About instead of "unknown" 2026-05-02 00:28:08 +02:00
Linus Rath c24762c7a3 feat: separate branch containers into beta and dev packages 2026-04-10 14:51:17 +02:00
Linus Rath facef97fcc feat: publish main and dev branches as separate GHCR packages 2026-04-10 14:33:18 +02:00
xnilsit bc202498d5 feat: re-add release workflow 2026-03-21 11:06:14 +01:00
Linus Rath e7e07a38d7 fix: use native ARM runners instead of QEMU for Docker builds 2026-03-19 18:57:17 +01:00
Linus Rath 4737f2928b Remove Docker Hub, publish only to GHCR 2026-03-12 13:25:14 +01:00
Matthieu MALVACHE 29f186b6f2 feat(ci): publish Docker image to Docker Hub and GHCR
Add dual-registry publishing to both Docker Hub (rootfr/jmap-webmail)
and GitHub Container Registry. Multi-arch support for amd64/arm64.
2026-02-26 01:13:29 +01:00
Matthieu MALVACHE fb7cfe1634 fix(ci): add path filters to Docker workflow to avoid unnecessary rebuilds 2026-02-21 23:59:03 +01:00
Matthieu MALVACHE a932e1a1c7 feat: add GHCR Docker image publishing with multi-arch support
Add GitHub Actions workflow to automatically build and publish Docker
images to ghcr.io on releases. Supports amd64 and arm64 architectures.
Pre-built image available at ghcr.io/root-fr/jmap-webmail.
2026-02-21 23:30:44 +01:00