From 4c41ce0c93b6d6001a030c71b1e37c8922f58788 Mon Sep 17 00:00:00 2001 From: Eric Scouten Date: Mon, 13 Jul 2026 16:20:42 -0700 Subject: [PATCH] ci: TEMPORARY - build against c2pa-rs 0.90.0-rc.1 from source Point CI at the c2pa-rs 0.90.0-rc.1 release candidate (pinned to commit 66d20c655769b9a46fa87221a996ad5686e0c6f9, the HEAD of that branch) to surface any breaking build issues before the RC ships as a release. No prebuilt release binaries exist for the RC yet, so the default prebuilt-download path (C2PA_VERSION in CMakeLists.txt) cannot target it. Instead, CI checks out c2pa-rs at the pinned commit, installs Rust, and builds the c2pa_c FFI from source via C2PA_BUILD_FROM_SOURCE / C2PA_RS_PATH across the full OS matrix. MSVC setup is broadened to all Windows runners (with arch selected per runner) since building Rust from source needs it. This is intentionally temporary and self-contained in the workflow; revert the env block and the two "(TEMPORARY)" steps once the RC is released and C2PA_VERSION can be bumped normally. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/ci.yml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f6f964b1..9b7f81cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,16 +31,39 @@ jobs: matrix: os: [windows-latest, windows-11-arm, macos-latest, macos-15-intel, ubuntu-latest, ubuntu-22.04, ubuntu-22.04-arm, ubuntu-24.04-arm] + # TEMPORARY: exercise the c2pa-rs 0.90.0-rc.1 release candidate before it + # ships as a release, to surface breaking build issues early. No prebuilt + # release binaries exist for the RC, so we build the c2pa_c FFI from source + # (C2PA_BUILD_FROM_SOURCE) against a pinned commit instead of downloading the + # C2PA_VERSION prebuilt from CMakeLists.txt. Revert this env block and the two + # "(TEMPORARY)" steps below once the RC ships and C2PA_VERSION can be bumped. + env: + C2PA_RS_REF: 66d20c655769b9a46fa87221a996ad5686e0c6f9 # HEAD of branch 0.90.0-rc.1 + C2PA_BUILD_FROM_SOURCE: "1" + C2PA_RS_PATH: ${{ github.workspace }}/c2pa-rs + steps: - name: Checkout repository uses: actions/checkout@v4 + - name: Check out c2pa-rs release candidate (TEMPORARY) + uses: actions/checkout@v4 + with: + repository: contentauth/c2pa-rs + ref: ${{ env.C2PA_RS_REF }} + path: c2pa-rs + + - name: Install Rust toolchain (TEMPORARY - to build the c2pa-rs RC from source) + uses: dtolnay/rust-toolchain@stable + - name: Install Ninja (Cmake build generator) uses: seanmiddleditch/gha-setup-ninja@master - name: Setup MSVC toolchain on Windows - if: matrix.os == 'windows-latest' + if: runner.os == 'Windows' uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.os == 'windows-11-arm' && 'arm64' || 'amd64' }} - name: Print make version and path run: |