From 6fcabf3c2af442f40415189b3545db11ae8d2e43 Mon Sep 17 00:00:00 2001 From: AtHeartEngineer <1675654+AtHeartEngineer@users.noreply.github.com> Date: Sun, 5 Jul 2026 02:05:40 -0400 Subject: [PATCH 1/2] ci: publish Signet image to GHCR for prod deploy --- .github/workflows/build-image.yml | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/build-image.yml diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml new file mode 100644 index 0000000..baa6044 --- /dev/null +++ b/.github/workflows/build-image.yml @@ -0,0 +1,32 @@ +name: build-image +# Build the Signet production image in the cloud and push to GHCR, so the +# Lightsail box (2 GB, can't build) just pulls. Triggers on main + manual. +on: + push: + branches: [main] + workflow_dispatch: +permissions: + contents: read + packages: write +concurrency: + group: build-signet-${{ github.ref }} + cancel-in-progress: true +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: docker/setup-buildx-action@v3 + - uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - uses: docker/build-push-action@v6 + with: + context: . + file: Dockerfile + push: true + tags: ghcr.io/ministryofmany/ministry-signet:latest + cache-from: type=gha + cache-to: type=gha,mode=max From 43d54b8ec86cedc586d72d420bc167fa6fef7519 Mon Sep 17 00:00:00 2001 From: AtHeartEngineer <1675654+AtHeartEngineer@users.noreply.github.com> Date: Sun, 5 Jul 2026 02:08:21 -0400 Subject: [PATCH 2/2] build: bump Dockerfile builder to rust 1.88 (time crate MSRV) The Cargo.lock time@0.3.51 chain requires rustc 1.88; the Dockerfile was pinned to 1.87, so the GHCR image build would fail on merge even though CI (floating stable) is green. Bump the pinned builder + rust-version to match. --- Cargo.toml | 2 +- Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 980a721..ca95c55 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" # 1.87: usize::is_multiple_of (used in config.rs key-bits validation) was # stabilized in 1.87. The codebase already relies on it, so this is the true # minimum supported version. -rust-version = "1.87" +rust-version = "1.88" description = "Hardened partially-blind RSA signing service for FreedInk vote tokens" license = "MIT" publish = false diff --git a/Dockerfile b/Dockerfile index a18b430..eee63b1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # Multi-stage build for the Signet blind-signing service. # Stage 1: build a static-ish release binary. -FROM rust:1.87-slim-bookworm AS builder +FROM rust:1.88-slim-bookworm AS builder WORKDIR /build