merge upstream #346
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: CI | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
merge_group: | |
types: [checks_requested] | |
jobs: | |
parallel-tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
cmd: | |
- nextest run -p cairo-lang-casm | |
- nextest run -p cairo-lang-compiler | |
- nextest run -p cairo-lang-debug | |
- nextest run -p cairo-lang-defs | |
- nextest run -p cairo-lang-diagnostics | |
- nextest run -p cairo-lang-eq-solver | |
- nextest run -p cairo-lang-filesystem | |
- nextest run -p cairo-lang-formatter | |
- nextest run -p cairo-lang-language-server | |
- nextest run -p cairo-lang-lowering | |
- nextest run -p cairo-lang-parser | |
- nextest run -p cairo-lang-plugins | |
- nextest run -p cairo-lang-proc-macros | |
- nextest run -p cairo-lang-project | |
- nextest run -p cairo-lang-runner | |
- nextest run -p cairo-lang-semantic | |
- nextest run -p cairo-lang-sierra | |
- nextest run -p cairo-lang-sierra-ap-change | |
- nextest run -p cairo-lang-sierra-gas | |
- nextest run -p cairo-lang-sierra-generator | |
- nextest run -p cairo-lang-sierra-to-casm | |
- nextest run -p cairo-lang-sierra-type-size | |
- test -p cairo-lang-starknet | |
- nextest run -p cairo-lang-syntax | |
- nextest run -p cairo-lang-syntax-codegen | |
- nextest run -p cairo-lang-test-runner | |
- nextest run -p cairo-lang-test-utils | |
- nextest run -p cairo-lang-utils | |
- test -p tests | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
components: rustfmt | |
toolchain: nightly-2022-11-03 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- name: Install nextest | |
uses: taiki-e/install-action@nextest | |
- run: | | |
cargo ${{ matrix.cmd }} | |
test: | |
if: ${{ always() }} | |
needs: parallel-tests | |
runs-on: ubuntu-latest | |
steps: | |
- if: needs.parallel-tests.result == 'success' | |
run: exit 0 | |
- if: needs.parallel-tests.result != 'success' | |
run: exit 1 | |
rustfmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
components: rustfmt | |
toolchain: nightly-2022-11-03 | |
- uses: Swatinem/rust-cache@v2 | |
- run: scripts/rust_fmt.sh --check | |
# Checks all .cairo files in the repo are formatted correctly. | |
cairofmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- run: scripts/cairo_fmt.sh --check | |
# Checks all cairo corelib tests run correctly. | |
cairotest: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- run: scripts/cairo_test.sh | |
- run: scripts/starknet_test.sh | |
# Check for unnecessary dependencies. | |
udeps: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@master | |
name: "Rust Toolchain Setup" | |
with: | |
toolchain: nightly-2022-11-03 | |
- uses: Swatinem/rust-cache@v2 | |
- name: "Download and run cargo-udeps" | |
run: | | |
wget -O - -c https://github.com/est31/cargo-udeps/releases/download/v0.1.35/cargo-udeps-v0.1.35-x86_64-unknown-linux-gnu.tar.gz | tar -xz | |
cargo-udeps-*/cargo-udeps udeps | |
env: | |
RUSTUP_TOOLCHAIN: nightly-2022-11-03 | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- uses: Swatinem/rust-cache@v2 | |
- run: > | |
scripts/clippy.sh | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- run: > | |
scripts/docs.sh | |
sierra-updated-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: '0' | |
- run: > | |
scripts/sierra_update_check.sh origin/$GITHUB_BASE_REF origin/$GITHUB_HEAD_REF |