name: LLVM VInvoke Smoke on: push: paths: - 'src/**' - 'crates/**' - 'apps/**' - 'tools/**' - 'Cargo.toml' - 'Cargo.lock' - '.github/workflows/llvm-vinvoke-smoke.yml' pull_request: paths: - 'src/**' - 'crates/**' - 'apps/**' - 'tools/**' - 'Cargo.toml' - 'Cargo.lock' jobs: llvm-vinvoke: runs-on: ubuntu-latest env: CARGO_TERM_COLOR: always NYASH_CLI_VERBOSE: '1' # Plugins enabled (do not set NYASH_DISABLE_PLUGINS) steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Rust (stable) uses: dtolnay/rust-toolchain@stable - name: Cache cargo registry and build uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git target key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.os }}-cargo- - name: Install LLVM 18 (llvm-config-18) run: | sudo apt-get update sudo apt-get install -y curl ca-certificates lsb-release wget gnupg build-essential libzstd-dev curl -fsSL https://apt.llvm.org/llvm.sh -o llvm.sh chmod +x llvm.sh sudo ./llvm.sh 18 llvm-config-18 --version - name: Run LLVM VInvoke + Array smoke tests run: | NYASH_LLVM_VINVOKE_RET_SMOKE=1 NYASH_LLVM_ARRAY_RET_SMOKE=1 ./tools/llvm_smoke.sh release