Skip to content

ci: Improve CI performance #110

ci: Improve CI performance

ci: Improve CI performance #110

Workflow file for this run

name: Rust
on: [push, pull_request]
env:
CARGO_TERM_COLOR: always
jobs:
build-ios:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Cache cargo registry
uses: actions/cache@v2
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v2
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build output
uses: actions/cache@v2
with:
path: target
key: ${{ runner.os }}-cargo-build-output-${{ hashFiles('**/Cargo.lock') }}
- name: Install circom
run: |
git clone https://github.com/iden3/circom.git
cd circom
cargo build --release
cargo install --path circom
- name: Build for iOS
run: ./scripts/build_ios.sh x86_64 debug
- name: Run ios tests
run: |
cd mopro-ios/MoproKit/Example
xcodebuild test -scheme MoproKit-Example -workspace MoproKit.xcworkspace -destination "platform=iOS Simulator,OS=16.2,name=iPhone 14 Pro"
build-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build for android
run: ./scripts/build_android.sh arm64 debug
test-core-ffi:
runs-on: ubuntu-latest
strategy:
matrix:
crate: ['mopro-core', 'mopro-ffi']
steps:
- uses: actions/checkout@v3
- name: Run tests for ${{ matrix.crate }}
run: |
cd ${{ matrix.crate }}
cargo test -- --nocapture
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check formatting
run: |
cd ark-zkey/ && cargo fmt --all -- --check
cd ../mopro-core/ && cargo fmt --all -- --check
cd ../mopro-ffi/ && cargo fmt --all -- --check