diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dbb01141..b8ca0490 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -156,8 +156,7 @@ jobs: - llvm: '15' - llvm: '16' - llvm: '17' - # TODO: LLVM 18 Installation broken: https://github.com/llvm/llvm-project/issues/99453 - # - llvm: '18' + - llvm: '18' runs-on: ubuntu-latest timeout-minutes: 60 steps: @@ -166,6 +165,7 @@ jobs: run: rustup update stable --no-self-update - name: Install LLVM run: | + set -eEuxo pipefail if type -P clang-"${{ matrix.llvm }}" &>/dev/null; then exit 0 fi @@ -193,27 +193,35 @@ jobs: - run: cargo install --path . --debug - name: Test run: | + set -eEuxo pipefail export CC="clang-${{ matrix.llvm }}" export CXX="clang++-${{ matrix.llvm }}" export LLVM_COV="llvm-cov-${{ matrix.llvm }}" export LLVM_PROFDATA="llvm-profdata-${{ matrix.llvm }}" - rustup toolchain add 1.60 1.65 1.70 1.73 1.77 --no-self-update - cargo clean - cargo +1.60 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv - cargo clean - cargo +1.65 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv - cargo clean - cargo +1.70 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv - cargo clean - cargo +1.73 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv - cargo clean - cargo +1.77 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv - # TODO: LLVM 18 Installation broken: https://github.com/llvm/llvm-project/issues/99453 - # rustup toolchain add 1.78 beta nightly --no-self-update - # cargo clean - # cargo +1.78 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv - # cargo clean - # cargo +beta llvm-cov test --text --include-ffi --fail-under-lines 70 -vv - # cargo clean - # cargo +nightly llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + case "${{ matrix.llvm }}" in + 1[0-7]) + rustup toolchain add 1.60 1.65 1.70 1.73 1.77 --no-self-update + cargo clean + cargo +1.60 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + cargo clean + cargo +1.65 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + cargo clean + cargo +1.70 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + cargo clean + cargo +1.73 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + cargo clean + cargo +1.77 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + ;; + *) + rustup toolchain add 1.78 beta nightly --no-self-update + cargo clean + cargo +1.78 llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + cargo clean + cargo +stable llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + cargo clean + cargo +beta llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + cargo clean + cargo +nightly llvm-cov test --text --include-ffi --fail-under-lines 70 -vv + ;; + esac working-directory: tests/fixtures/crates/ffi