Skip to content

ci: bump actions/checkout to v5 (#338) #2

ci: bump actions/checkout to v5 (#338)

ci: bump actions/checkout to v5 (#338) #2

Workflow file for this run

name: BitVM CI
on:
push:
branches: [ "main" ]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches: ["*"]
env:
CARGO_TERM_COLOR: always
jobs:
rustfmt:
timeout-minutes: 60
runs-on: self-hosted
steps:
- uses: actions/checkout@v5
- name: Run rustfmt
run: cargo fmt --all -- --check
clippy:
if: github.event.pull_request.draft == false
timeout-minutes: 60
runs-on: self-hosted
steps:
- uses: actions/checkout@v5
- name: Run clippy (no guests)
run: cargo clippy --workspace --exclude header-chain-circuit --exclude final-spv-circuit
guest:
if: github.event.pull_request.draft == false
needs: rustfmt
timeout-minutes: 60
runs-on: self-hosted
steps:
- uses: actions/checkout@v5
- name: Build guests
run: |
REPR_GUEST_BUILD=1 BITCOIN_NETWORK=mainnet cargo build -p header-chain-circuit --release
REPR_GUEST_BUILD=1 BITCOIN_NETWORK=mainnet cargo build -p final-spv-circuit --release
build:
if: github.event.pull_request.draft == false
needs: rustfmt
timeout-minutes: 60
runs-on: self-hosted
steps:
- uses: actions/checkout@v5
- name: Cache Build Artifacts
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build
run: cargo build
test_script:
if: github.event.pull_request.draft == false
timeout-minutes: 120
needs: build
runs-on: self-hosted
env:
LARGE_TESTS: >-
bn254::pairing::test::test_hinted_quad_miller_loop_with_c_wi
chunk::api::test::full_e2e_execution
chunk::api_runtime_utils::test::test_runtime_execution_looped
chunk::g16_runner_core::test::test_groth16
chunk::g16_runner_core::test::test_verify_pairing
groth16::test::test_hinted_groth16_verifier
groth16::test::test_hinted_groth16_verifier_small_public
hash::blake3::tests::test_blake3_randominputs
hash::blake3::tests::test_blake3_randominputs_multipleof64bytes
steps:
- uses: actions/checkout@v5
- name: Cache Build Artifacts
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build
run: cargo build
- name: Run tests
run: |
SKIP_ARGS=""
for test in $LARGE_TESTS; do
SKIP_ARGS="$SKIP_ARGS --skip $test"
done
cargo test -- --skip bridge:: --skip tests::test_final_circuit $SKIP_ARGS
cargo test -- --test-threads=1 $LARGE_TESTS
# test_bridge:
# if: github.event.pull_request.draft == false
# timeout-minutes: 200
# needs: build
# runs-on: self-hosted
# steps:
# - uses: actions/checkout@v5
#
# - name: Cache Build Artifacts
# uses: actions/cache@v4
# with:
# path: |
# ~/.cargo/bin/
# ~/.cargo/registry/index/
# ~/.cargo/registry/cache/
# ~/.cargo/git/db/
# target/
# key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
#
# - name: Build
# run: cargo build
#
# - name: Run bridge tests
# env:
# BRIDGE_DATA_STORE_CLIENT_DATA_SUFFIX: bridge-client-data.json
# BRIDGE_AWS_ACCESS_KEY_ID: ${{ secrets.BRIDGE_AWS_ACCESS_KEY_ID }}
# BRIDGE_AWS_SECRET_ACCESS_KEY: ${{ secrets.BRIDGE_AWS_SECRET_ACCESS_KEY }}
# BRIDGE_AWS_REGION: ap-southeast-1
# BRIDGE_AWS_BUCKET: bitvm
# run: |
# cp .env.test.sample .env.test
# cd regtest
# ./install.sh <<< "."
# ./start.sh
# cargo test -- --test bridge::