Skip to content

feat: add ci

feat: add ci #14

Workflow file for this run

name: PR
on:
push:
branches: [master]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
unit-test:
name: Unit Test
runs-on: [runs-on, runner=8cpu-linux-x64, "run-id=${{ github.run_id }}"]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run tests
run: |
cd verifier
cargo test --package sp1-solana:0.1.0 --lib --features sp1-serialize
solana-test:
name: Solana Test
runs-on: [runs-on, runner=8cpu-linux-x64, "run-id=${{ github.run_id }}"]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Solana CLI tools
run: |
sh -c "$(curl -sSfL https://release.anza.xyz/edge/install)"
echo "/home/runner/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
- name: Setup pnpm
uses: pnpm/[email protected]
with:
version: 9
- name: Install dependencies
run: |
cd example/solana
pnpm install
- name: Run build-and-test script
run: |
cd example/solana
yarn build-and-test
lock-files:
name: "Check lock files"
runs-on: ["runs-on", "runner=8cpu-linux-x64", "run-id=${{ github.run_id }}"]
env:
CARGO_NET_GIT_FETCH_WITH_CLI: "true"
steps:
- name: "Checkout sources"
uses: "actions/checkout@v4"
- name: "Update lock files"
run: |
cargo tree
(cd ./example/solana/program && cargo tree)
(cd ./example/script && cargo tree)
- name: "Assert no changes"
run: |
if [ -n "$(git status --porcelain)" ]; then
echo "Lock files not up to date"
exit 1
fi