Skip to content

feat(hir): add LanguageCapabilities, keep for-loops first-class for c… #633

feat(hir): add LanguageCapabilities, keep for-loops first-class for c…

feat(hir): add LanguageCapabilities, keep for-loops first-class for c… #633

Workflow file for this run

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