supported_llvm_versions.yml (ldc-1.32.0) | : | supported_llvm_versions.yml (ldc-1.32.1) | ||
---|---|---|---|---|
skipping to change at line 18 | skipping to change at line 18 | |||
concurrency: | concurrency: | |||
group: ${{ github.workflow }}-${{ github.ref }} | group: ${{ github.workflow }}-${{ github.ref }} | |||
cancel-in-progress: true | cancel-in-progress: true | |||
jobs: | jobs: | |||
test: | test: | |||
strategy: | strategy: | |||
fail-fast: false | fail-fast: false | |||
matrix: | matrix: | |||
include: | include: | |||
- job_name: Ubuntu 18.04, LLVM 15, latest LDC beta | - job_name: Ubuntu 20.04, LLVM 15, latest LDC beta | |||
os: ubuntu-18.04 | os: ubuntu-20.04 | |||
host_dc: ldc-beta | host_dc: ldc-beta | |||
llvm_version: 15.0.6 | llvm_version: 15.0.6 | |||
- job_name: Ubuntu 18.04, LLVM 14, latest LDC beta | - job_name: Ubuntu 20.04, LLVM 14, latest LDC beta | |||
os: ubuntu-18.04 | os: ubuntu-20.04 | |||
host_dc: ldc-beta | host_dc: ldc-beta | |||
llvm_version: 14.0.0 | llvm_version: 14.0.0 | |||
# the compiler-rt libs installation is somehow non-standard | # the compiler-rt libs installation is somehow non-standard | |||
cmake_flags: -DLDC_INSTALL_LLVM_RUNTIME_LIBS_OS=x86_64-unknown-linux -gnu -DLDC_INSTALL_LLVM_RUNTIME_LIBS_ARCH="" | cmake_flags: -DLDC_INSTALL_LLVM_RUNTIME_LIBS_OS=x86_64-unknown-linux -gnu -DLDC_INSTALL_LLVM_RUNTIME_LIBS_ARCH="" | |||
- job_name: Ubuntu 18.04, LLVM 12, latest LDC beta | - job_name: Ubuntu 20.04, LLVM 12, latest LDC beta | |||
os: ubuntu-18.04 | os: ubuntu-20.04 | |||
host_dc: ldc-beta | host_dc: ldc-beta | |||
llvm_version: 12.0.1 | llvm_version: 12.0.1 | |||
cmake_flags: -DLIB_SUFFIX=64 | cmake_flags: -DLIB_SUFFIX=64 | |||
- job_name: Ubuntu 18.04, LLVM 11, latest LDC beta | - job_name: Ubuntu 20.04, LLVM 11, latest LDC beta | |||
os: ubuntu-18.04 | os: ubuntu-20.04 | |||
host_dc: ldc-beta | host_dc: ldc-beta | |||
llvm_version: 11.1.0 | llvm_version: 11.1.0 | |||
cmake_flags: -DBUILD_SHARED_LIBS=ON -DRT_SUPPORT_SANITIZERS=ON | cmake_flags: -DBUILD_SHARED_LIBS=ON -DRT_SUPPORT_SANITIZERS=ON | |||
- job_name: Ubuntu 18.04, LLVM 9, latest DMD beta | - job_name: Ubuntu 20.04, LLVM 9, latest DMD beta | |||
os: ubuntu-18.04 | os: ubuntu-20.04 | |||
host_dc: dmd-beta | host_dc: dmd-beta | |||
llvm_version: 9.0.1 | llvm_version: 9.0.1 | |||
cmake_flags: -DBUILD_SHARED_LIBS=OFF -DRT_SUPPORT_SANITIZERS=ON -DLD C_LINK_MANUALLY=ON | cmake_flags: -DBUILD_SHARED_LIBS=OFF -DRT_SUPPORT_SANITIZERS=ON -DLD C_LINK_MANUALLY=ON | |||
- job_name: macOS 10.15, LLVM 10, latest DMD beta | - job_name: macOS 10.15, LLVM 10, latest DMD beta | |||
os: macos-10.15 | os: macos-10.15 | |||
host_dc: dmd-beta | host_dc: dmd-beta | |||
llvm_version: 10.0.1 | llvm_version: 10.0.1 | |||
cmake_flags: -DBUILD_SHARED_LIBS=ON -DRT_SUPPORT_SANITIZERS=ON -DLDC _LINK_MANUALLY=ON | cmake_flags: -DBUILD_SHARED_LIBS=ON -DRT_SUPPORT_SANITIZERS=ON -DLDC _LINK_MANUALLY=ON | |||
- job_name: macOS 10.15, LLVM 13, latest LDC beta | - job_name: macOS 10.15, LLVM 13, latest LDC beta | |||
os: macos-10.15 | os: macos-10.15 | |||
skipping to change at line 74 | skipping to change at line 74 | |||
with: | with: | |||
compiler: ${{ matrix.host_dc }} | compiler: ${{ matrix.host_dc }} | |||
- name: Clear LD_LIBRARY_PATH to prevent loading host compiler libs | - name: Clear LD_LIBRARY_PATH to prevent loading host compiler libs | |||
run: echo "LD_LIBRARY_PATH=" >> $GITHUB_ENV | run: echo "LD_LIBRARY_PATH=" >> $GITHUB_ENV | |||
- name: Install lit | - name: Install lit | |||
run: | | run: | | |||
set -euxo pipefail | set -euxo pipefail | |||
python3 -m pip install --user setuptools wheel | python3 -m pip install --user setuptools wheel | |||
python3 -m pip install --user lit | python3 -m pip install --user lit | |||
python3 -c "import lit.main; lit.main.main();" --version . | head -n 1 | python3 -c "import lit.main; lit.main.main();" --version . | head -n 1 | |||
- name: 'Linux: Install gdb' | - name: 'Linux: Install gdb and llvm-symbolizer' | |||
if: runner.os == 'Linux' | if: runner.os == 'Linux' | |||
run: | | run: | | |||
set -eux | set -eux | |||
sudo apt-get update | sudo apt-get update | |||
# Don't use latest gdb v10 from Ubuntu toolchain PPA with regressions, | # Don't use latest gdb v10+ from Ubuntu toolchain PPA with regressions | |||
use official v8 | , use official v9 | |||
sudo apt-get install gdb=8.1.1-0ubuntu1 | sudo apt-get install gdb=9.1-0ubuntu1 llvm | |||
- name: Try to restore cached LLVM | - name: Try to restore cached LLVM | |||
uses: actions/cache@v2 | uses: actions/cache@v2 | |||
with: | with: | |||
path: llvm | path: llvm | |||
key: llvm-${{ matrix.llvm_version }}-${{ runner.os }} | key: llvm-${{ matrix.llvm_version }}-${{ runner.os }} | |||
- name: Download & extract prebuilt vanilla LLVM ${{ matrix.llvm_version } } | - name: Download & extract prebuilt vanilla LLVM ${{ matrix.llvm_version } } | |||
run: | | run: | | |||
set -eux | set -eux | |||
skipping to change at line 143 | skipping to change at line 143 | |||
if: success() || failure() | if: success() || failure() | |||
run: ctest --output-on-failure -R "ldc2-unittest" | run: ctest --output-on-failure -R "ldc2-unittest" | |||
- name: Run LIT testsuite | - name: Run LIT testsuite | |||
if: success() || failure() | if: success() || failure() | |||
run: | | run: | | |||
set -eux | set -eux | |||
# LLVM 9: libclang_rt.fuzzer-x86_64.a not compiled with -fPIC | # LLVM 9: libclang_rt.fuzzer-x86_64.a not compiled with -fPIC | |||
if [[ '${{ matrix.llvm_version }}' = 9.* ]]; then | if [[ '${{ matrix.llvm_version }}' = 9.* ]]; then | |||
echo "config.available_features.remove('Fuzzer')" >> tests/sanitizer s/lit.local.cfg | echo "config.available_features.remove('Fuzzer')" >> tests/sanitizer s/lit.local.cfg | |||
fi | fi | |||
# LLVM 14+ on Linux: don't use vanilla llvm-symbolizer (no support for | ||||
zlib-compressed debug sections => failing ASan tests) | ||||
if [[ '${{ runner.os }}' == 'Linux' && '${{ matrix.llvm_version }}' =~ | ||||
^1[4-9]\. ]]; then | ||||
mv llvm/bin/llvm-symbolizer llvm/bin/llvm-symbolizer.bak | ||||
fi | ||||
ctest -V -R "lit-tests" | ctest -V -R "lit-tests" | |||
if [[ -f llvm/bin/llvm-symbolizer.bak ]]; then | ||||
mv llvm/bin/llvm-symbolizer.bak llvm/bin/llvm-symbolizer | ||||
fi | ||||
- name: Run DMD testsuite | - name: Run DMD testsuite | |||
if: success() || failure() | if: success() || failure() | |||
run: ctest -V -R "dmd-testsuite" | run: ctest -V -R "dmd-testsuite" | |||
- name: Run defaultlib unittests & druntime integration tests | - name: Run defaultlib unittests & druntime integration tests | |||
if: success() || failure() | if: success() || failure() | |||
run: | | run: | | |||
set -eux | set -eux | |||
excludes='dmd-testsuite|lit-tests|ldc2-unittest' | excludes='dmd-testsuite|lit-tests|ldc2-unittest' | |||
if [[ '${{ runner.os }}' == macOS ]]; then | if [[ '${{ runner.os }}' == macOS ]]; then | |||
N=$(sysctl -n hw.logicalcpu) | N=$(sysctl -n hw.logicalcpu) | |||
End of changes. 9 change blocks. | ||||
14 lines changed or deleted | 23 lines changed or added |