Initialize default plugin inputs in defs group setup #50083
Workflow file for this run
This file contains hidden or 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: | |
| ensure-no_std: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: nightly-2025-11-17 | |
| targets: wasm32-unknown-unknown | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: | | |
| cd ensure-no_std && cargo build | |
| syntax-codegen-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: rustfmt | |
| toolchain: nightly-2025-11-17 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo test --profile=ci-dev -p cairo-lang-syntax-codegen | |
| parallel-tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| args: | |
| - cairo-lang-casm --features=serde,parity-scale-codec,schemars | |
| - cairo-lang-casm --no-default-features --features=serde,parity-scale-codec | |
| - cairo-lang-compiler | |
| - cairo-lang-debug | |
| - cairo-lang-defs | |
| - cairo-lang-diagnostics | |
| - cairo-lang-doc | |
| - cairo-lang-eq-solver | |
| - cairo-lang-executable | |
| - cairo-lang-executable-plugin | |
| - cairo-lang-execute-utils | |
| - cairo-lang-filesystem | |
| - cairo-lang-formatter | |
| - cairo-lang-lowering | |
| - cairo-lang-parser | |
| - cairo-lang-plugins | |
| - cairo-lang-primitive-token | |
| - cairo-lang-proc-macros | |
| - cairo-lang-project | |
| - cairo-lang-runnable-utils | |
| - cairo-lang-runner | |
| - cairo-lang-semantic | |
| - cairo-lang-sierra | |
| - cairo-lang-sierra-ap-change | |
| - cairo-lang-sierra-gas | |
| - cairo-lang-sierra-generator | |
| - cairo-lang-sierra-to-casm | |
| - cairo-lang-sierra-type-size | |
| - cairo-lang-starknet-classes | |
| - cairo-lang-starknet | |
| - cairo-lang-syntax | |
| - cairo-lang-test-plugin | |
| - cairo-lang-test-runner | |
| - cairo-lang-test-utils | |
| - cairo-lang-utils --features=serde,parity-scale-codec,schemars,testing,tracing | |
| - cairo-lang-utils --no-default-features --features=serde,parity-scale-codec | |
| - tests | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| # Allow only the heavy 'tests' leg to upload the cache; all legs still restore it. | |
| save-if: ${{ matrix.args == 'tests' }} | |
| # Validates that the number of commands in the matrix is equal to the number of crates in the | |
| # workspace + 2 (for the crates which have multiple commands) - 1 (for the syntax-codegen-test) | |
| - run: | | |
| CRATES_COUNT=$(find {crates/*,tests}/Cargo.toml | wc -l) | |
| COMMANDS_COUNT=${{ strategy.job-total }} | |
| if [ $((CRATES_COUNT + 2 - 1)) -ne $COMMANDS_COUNT ]; then | |
| echo "CRATES_COUNT: $CRATES_COUNT" | |
| echo "COMMANDS_COUNT: $COMMANDS_COUNT" | |
| echo "The number of commands in the matrix is not equal to the number of crates in the workspace + 1" | |
| exit 1 | |
| fi | |
| - run: | | |
| cargo test --profile=ci-dev -p ${{ matrix.args }} | |
| test: | |
| if: ${{ always() }} | |
| needs: [parallel-tests, syntax-codegen-test] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - if: needs.parallel-tests.result == 'success' && needs.syntax-codegen-test.result == 'success' | |
| run: exit 0 | |
| - if: needs.parallel-tests.result != 'success' || needs.syntax-codegen-test.result != 'success' | |
| run: exit 1 | |
| rustfmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: rustfmt | |
| toolchain: nightly-2025-11-17 | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: scripts/rust_fmt.sh --check | |
| # Checks that all .cairo files in the repo are formatted correctly. | |
| cairofmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: scripts/cairo_fmt.sh --check | |
| parallel-cairo-tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| cmd: | |
| - corelib/ | |
| - tests/bug_samples --starknet | |
| - crates/cairo-lang-starknet/cairo_level_tests/ --starknet | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: | | |
| cargo run --profile=ci-dev --bin cairo-test -- ${{ matrix.cmd }} | |
| # Checks that all Cairo code tests run correctly. | |
| cairotest: | |
| if: ${{ always() }} | |
| needs: parallel-cairo-tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - if: needs.parallel-cairo-tests.result == 'success' | |
| run: exit 0 | |
| - if: needs.parallel-cairo-tests.result != 'success' | |
| run: exit 1 | |
| # Check for unnecessary dependencies. | |
| udeps: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Machete | |
| uses: bnjbvr/[email protected] | |
| clippy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: clippy | |
| toolchain: nightly-2025-11-17 | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: > | |
| scripts/clippy.sh | |
| taplo: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: taiki-e/install-action@taplo | |
| - run: > | |
| scripts/taplo.sh | |
| typos: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: crate-ci/[email protected] | |
| docs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: nightly-2025-11-17 | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: > | |
| scripts/docs.sh | |
| sierra-updated-check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: '0' | |
| - run: > | |
| scripts/sierra_update_check.sh origin/$GITHUB_BASE_REF origin/$GITHUB_HEAD_REF |