feat(hir): add LanguageCapabilities, keep for-loops first-class for c… #633
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
| on: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| pull_request: | |
| branches: | |
| - main | |
| - develop | |
| name: CI | |
| jobs: | |
| run_tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| # Use a recent nightly so edition2024 is available | |
| toolchain: nightly | |
| components: rustfmt, clippy | |
| override: true | |
| # Install LLVM 21 for llvm-sys 210; required by fp-cli/fp-optimize dependencies. | |
| - name: Install LLVM 21 | |
| run: | | |
| curl -fsSL https://apt.llvm.org/llvm.sh -o /tmp/llvm.sh | |
| chmod +x /tmp/llvm.sh | |
| sudo /tmp/llvm.sh 21 | |
| sudo apt-get install -y libpolly-21-dev | |
| # Point llvm-sys to the installed LLVM toolchain. | |
| - name: Set LLVM env | |
| run: | | |
| echo "LLVM_SYS_210_PREFIX=/usr/lib/llvm-21" >> $GITHUB_ENV | |
| echo "LLVM_CONFIG_PATH=/usr/bin/llvm-config-21" >> $GITHUB_ENV | |
| # Polly may be unavailable on some runners; ignore if missing. | |
| echo "LLVM_SYS_210_IGNORE_POLLY=1" >> $GITHUB_ENV | |
| - name: Cache rust build | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Cargo fmt | |
| run: cargo fmt --all -- --check | |
| - name: Cargo check | |
| run: cargo check --workspace --all-targets | |
| - name: Cargo test | |
| run: cargo test --workspace --all-targets | |
| - name: Example snapshots | |
| run: scripts/run_example_snapshots.sh | |
| - name: Example compile/exec | |
| run: scripts/run_examples_exec.sh |