Skip to content

feat: end-to-end modexp, ecadd, ecmul and ecpairing #124

feat: end-to-end modexp, ecadd, ecmul and ecpairing

feat: end-to-end modexp, ecadd, ecmul and ecpairing #124

Workflow file for this run

name: "Rust CI"
on:
pull_request:
paths:
- "crates/**"
- "Cargo.toml"
- ".github/workflows/ci.yaml"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: "always"
CARGO_INCREMENTAL: "0"
RUSTC_WRAPPER: "sccache"
SCCACHE_GHA_ENABLED: "true"
# Rust version to use.
nightly: nightly-2024-08-01
jobs:
build:
name: CI
strategy:
matrix:
# Needs big runners to run tests
# Only macos-13-xlarge is Apple Silicon, as per:
# https://docs.github.com/en/actions/using-github-hosted-runners/about-larger-runners/about-larger-runners#about-macos-larger-runners
os: [ubuntu-22.04-github-hosted-16core, macos-13-xlarge]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ env.nightly }}
components: rustfmt, clippy
# Remove default `-D warnings`. This is a temporary measure.
rustflags: ""
- name: Install sccache
uses: mozilla-actions/sccache-action@v0.0.4
- name: Format
run: cargo fmt --all -- --check
- name: Install nextest
run: cargo install cargo-nextest
- name: Run tests
run: cargo nextest run --no-fail-fast
ci-success:
name: Github Status Check
runs-on: ubuntu-latest
if: always() && !cancelled()
needs: [ build ]
steps:
- name: Status
run: |
# This will check all jobs status in the `needs` list, and fail job if one is failed.
# Since we split prover and core to different flows, this job will be only as Required Status Check in the Pull Request.
if [[ ${{ contains(join(needs.*.result, ','), 'failure') }} == "true" ]]; then
echo "Intentionally failing to block PR from merging"
exit 1
fi