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 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