Skip to content

Commit 973554d

Browse files
committed
Try out testing container
1 parent 069cd74 commit 973554d

File tree

1 file changed

+10
-60
lines changed

1 file changed

+10
-60
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -13,75 +13,25 @@ jobs:
1313
build:
1414
name: ${{ matrix.config.name }}
1515
runs-on: ${{ matrix.config.os }}
16+
container:
17+
image: ghcr.io/bemanproject/testing-images:test-${{ matrix.config.tag }}
1618
strategy:
1719
fail-fast: false
1820
matrix:
1921
config:
20-
- {name: "Ubuntu Clang 21", os: ubuntu-24.04, toolchain: "clang-21", clang_version: 21, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
21-
- {name: "Ubuntu Clang 20", os: ubuntu-24.04, toolchain: "clang-20", clang_version: 20, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
22+
- {name: "Ubuntu Clang 21", tag: "llvm-21", os: ubuntu-24.04, toolchain: "clang-21", clang_version: 21, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
23+
- {name: "Ubuntu Clang 20", tag: "llvm-20", os: ubuntu-24.04, toolchain: "clang-20", clang_version: 20, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
2224
# Note: clang-19 + Asan setup causes errors on some platforms. Temporary skip some checks via .asan_options.
23-
- {name: "Ubuntu Clang 19", os: ubuntu-24.04, toolchain: "clang-19", clang_version: 19, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" ", asan_options: "new_delete_type_mismatch=0"}
24-
- {name: "Ubuntu Clang 18", os: ubuntu-24.04, toolchain: "clang-18", clang_version: 18, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
25-
- {name: "Ubuntu Clang 17", os: ubuntu-24.04, toolchain: "clang-17", clang_version: 17, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
26-
- {name: "Ubuntu GCC 14", os: ubuntu-24.04, toolchain: "gcc-14", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan;Gcov\" ", coverage: true}
27-
- {name: "Ubuntu GCC 13", os: ubuntu-24.04, toolchain: "gcc-13", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
28-
- {name: "Ubuntu GCC 12", os: ubuntu-24.04, toolchain: "gcc-12", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
25+
- {name: "Ubuntu Clang 19", tag: "llvm-19", os: ubuntu-24.04, toolchain: "clang-19", clang_version: 19, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" ", asan_options: "new_delete_type_mismatch=0"}
26+
- {name: "Ubuntu Clang 18", tag: "llvm-18", os: ubuntu-24.04, toolchain: "clang-18", clang_version: 18, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
27+
- {name: "Ubuntu Clang 17", tag: "llvm-17", os: ubuntu-24.04, toolchain: "clang-17", clang_version: 17, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
28+
- {name: "Ubuntu GCC 14", tag: "gnu-14", os: ubuntu-24.04, toolchain: "gcc-14", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan;Gcov\" ", coverage: true}
29+
- {name: "Ubuntu GCC 13", tag: "gnu-13", os: ubuntu-24.04, toolchain: "gcc-13", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
30+
- {name: "Ubuntu GCC 12", tag: "gnu-12", os: ubuntu-24.04, toolchain: "gcc-12", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
2931
steps:
3032
- uses: actions/checkout@v3
3133
with:
3234
submodules: 'true'
33-
- uses: seanmiddleditch/gha-setup-ninja@master
34-
- name: Activate verbose shell
35-
run: set -x
36-
- name: Install LLVM+Clang
37-
if: startsWith(matrix.config.name, 'Ubuntu Clang')
38-
run: |
39-
set -x
40-
cat /etc/lsb-release
41-
# Remove existing Clang installations.
42-
sudo apt-get remove \
43-
clang-${{matrix.config.installed_clang_version}} \
44-
clang++-${{matrix.config.installed_clang_version}} \
45-
clangd-${{matrix.config.installed_clang_version}} \
46-
clang-tidy-${{matrix.config.installed_clang_version}} \
47-
clang-format-${{matrix.config.installed_clang_version}} \
48-
clang-tools-${{matrix.config.installed_clang_version}} \
49-
llvm-${{matrix.config.installed_clang_version}}-dev \
50-
lld-${{matrix.config.installed_clang_version}} \
51-
lldb-${{matrix.config.installed_clang_version}} \
52-
llvm-${{matrix.config.installed_clang_version}}-tools \
53-
libc++-${{matrix.config.installed_clang_version}}-dev \
54-
libc++abi-${{matrix.config.installed_clang_version}}-dev \
55-
libclang-common-${{matrix.config.installed_clang_version}}-dev \
56-
libclang-${{matrix.config.installed_clang_version}}-dev \
57-
libclang-cpp${{matrix.config.installed_clang_version}}-dev \
58-
libomp-${{matrix.config.installed_clang_version}}-dev \
59-
libunwind-${{matrix.config.installed_clang_version}}-dev \
60-
libc++-dev libc++1 libc++abi-dev libc++abi1
61-
# Install LLVM+Clang.
62-
CLANG_VERSION=$(echo ${{matrix.config.toolchain}} | cut -d '-' -f2)
63-
wget https://apt.llvm.org/llvm.sh
64-
chmod +x llvm.sh
65-
sudo ./llvm.sh ${CLANG_VERSION} all
66-
# Link Clang libraries (if not done by llvm.sh - some links are already set).
67-
sudo ln -fs /usr/lib/llvm-${CLANG_VERSION}/lib/lib* /usr/lib/x86_64-linux-gnu/ || true
68-
# If Clang 17, install a newer version of libc++ and libc++abi.
69-
[[ ${CLANG_VERSION} = 17 ]] && sudo apt-get install libc++-dev libc++1 libc++abi-dev libc++abi1
70-
find /usr/lib/x86_64-linux-gnu/ -name libc++.so* || true
71-
clang++-${CLANG_VERSION} --version
72-
- name: Install GCC
73-
if: startsWith(matrix.config.name, 'Ubuntu GCC')
74-
run: |
75-
set -x
76-
# Remove existing GCC installations.
77-
sudo apt-get remove gcc-13 g++-13 gcc-14 g++-14 gcc g++
78-
sudo apt update
79-
# Install GCC.
80-
GCC_VERSION=$(echo ${{matrix.config.toolchain}} | cut -d '-' -f2)
81-
echo "GCC_VERSION=$GCC_VERSION"
82-
sudo apt-get install g++-${GCC_VERSION} gcc-${GCC_VERSION}
83-
find /usr/lib/x86_64-linux-gnu/ -name libstdc++.so*
84-
g++-${GCC_VERSION} --version
8535
- name: Install Gcovr
8636
if: matrix.config.coverage
8737
run: |

0 commit comments

Comments
 (0)