From c1ce6c2953c0789fd0717eb395adfec0e2068f08 Mon Sep 17 00:00:00 2001 From: RECTOR Date: Fri, 19 Jun 2026 11:00:47 +0700 Subject: [PATCH] ci: add PR verification workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This repo had no PR CI, so Dependabot bumps landed unverified (sip-protocol/sip-protocol#1186). Add a workflow that runs on PRs and pushes to main: - cargo check -p encrypted-ixs — compiles the Arcis circuit crate and its arcis/blake3/arcium-core dependency tree (rust 1.89.0). - npm ci — verifies the npm lockfile resolves. The on-chain Anchor program build is intentionally out of scope: its Arcium macros need build/*.arcis from the Arcium toolchain, tracked with the Anchor 1.0 toolchain work (sip-protocol/sip-protocol#1161). Refs sip-protocol/sip-protocol#1186 --- .github/workflows/ci.yml | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..8e5e945 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,41 @@ +# PR verification for Dependabot bumps and changes. +# +# Scope note: the on-chain Anchor program (programs/sip_arcium_transfer) cannot +# be compiled here — its #[arcium_program]/#[arcium_callback] macros require the +# Arcis circuits to be pre-compiled to build/*.arcis by the Arcium toolchain +# (`arcium build` + solana + anchor). Standing up that toolchain in CI is tracked +# alongside the Anchor 1.0 toolchain reconciliation (sip-protocol/sip-protocol#1161). +# Until then this workflow verifies what compiles/resolves without it: the Arcis +# circuit crate (encrypted-ixs, which exercises the arcis/blake3/arcium-core deps) +# and the npm lockfile. + +name: CI + +on: + pull_request: + push: + branches: [main] + +permissions: + contents: read + +jobs: + circuit-crate: + name: cargo check (encrypted-ixs) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@1.89.0 + - uses: Swatinem/rust-cache@v2 + - run: cargo check -p encrypted-ixs + + npm-install: + name: npm ci + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + - run: npm ci