ci: Improve CI performance #110
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |