@@ -11,60 +11,50 @@ jobs:
11
11
fail-fast : false
12
12
matrix :
13
13
compiler :
14
- # GCC 13 on MacOS seems to be generally broken (https://github.com/actions/runner-images/issues/9997) and therefore disabled
14
+ - { tag: "ubuntu-2404_clang-16", name: "Ubuntu 24.04 Clang 16", cxx: "/usr/bin/clang++-16", cc: "/usr/bin/clang-16", runs-on: "ubuntu-24.04" }
15
+ - { tag: "ubuntu-2404_clang-17", name: "Ubuntu 24.04 Clang 17", cxx: "/usr/bin/clang++-17", cc: "/usr/bin/clang-17", runs-on: "ubuntu-24.04" }
16
+ - { tag: "ubuntu-2404_clang-18", name: "Ubuntu 24.04 Clang 18", cxx: "/usr/bin/clang++-18", cc: "/usr/bin/clang-18", runs-on: "ubuntu-24.04" }
17
+ - { tag: "ubuntu-2404_gcc-12", name: "Ubuntu 24.04 G++ 12", cxx: "/usr/bin/g++-12", cc: "/usr/bin/gcc-12", runs-on: "ubuntu-24.04" }
18
+ - { tag: "ubuntu-2404_gcc-13", name: "Ubuntu 24.04 G++ 13", cxx: "/usr/bin/g++-13", cc: "/usr/bin/gcc-13", runs-on: "ubuntu-24.04" }
19
+ - { tag: "ubuntu-2404_gcc-14", name: "Ubuntu 24.04 G++ 14", cxx: "/usr/bin/g++-14", cc: "/usr/bin/gcc-14", runs-on: "ubuntu-24.04" }
15
20
- { tag: "ubuntu-2204_clang-13", name: "Ubuntu 22.04 Clang 13", cxx: "/usr/bin/clang++-13", cc: "/usr/bin/clang-13", runs-on: "ubuntu-22.04" }
16
21
- { tag: "ubuntu-2204_clang-14", name: "Ubuntu 22.04 Clang 14", cxx: "/usr/bin/clang++-14", cc: "/usr/bin/clang-14", runs-on: "ubuntu-22.04" }
17
22
- { tag: "ubuntu-2204_clang-15", name: "Ubuntu 22.04 Clang 15", cxx: "/usr/bin/clang++-15", cc: "/usr/bin/clang-15", runs-on: "ubuntu-22.04" }
18
23
- { tag: "ubuntu-2204_gcc-10", name: "Ubuntu 22.04 G++ 10", cxx: "/usr/bin/g++-10", cc: "/usr/bin/gcc-10", runs-on: "ubuntu-22.04" }
19
24
- { tag: "ubuntu-2204_gcc-11", name: "Ubuntu 22.04 G++ 11", cxx: "/usr/bin/g++-11", cc: "/usr/bin/gcc-11", runs-on: "ubuntu-22.04" }
20
- - { tag: "ubuntu-2004_clang-12", name: "Ubuntu 20.04 Clang 12", cxx: "/usr/bin/clang++-12", cc: "/usr/bin/clang-12", runs-on: "ubuntu-20.04" }
21
- - { tag: "ubuntu-2004_clang-11", name: "Ubuntu 20.04 Clang 11", cxx: "/usr/bin/clang++-11", cc: "/usr/bin/clang-11", runs-on: "ubuntu-20.04" }
22
- - { tag: "ubuntu-2004_clang-10", name: "Ubuntu 20.04 Clang 10", cxx: "/usr/bin/clang++-10", cc: "/usr/bin/clang-10", runs-on: "ubuntu-20.04" }
23
- - { tag: "ubuntu-2004_gcc-10", name: "Ubuntu 20.04 G++ 10", cxx: "/usr/bin/g++-10", cc: "/usr/bin/gcc-10", runs-on: "ubuntu-20.04" }
25
+ - { tag: "windows-2025_msvc17", name: "Windows Server 2025 MSVC 17", cxx: "", cc: "", runs-on: "windows-2025" }
24
26
- { tag: "windows-2022_msvc17", name: "Windows Server 2022 MSVC 17", cxx: "", cc: "", runs-on: "windows-2022" }
25
- - { tag: "windows-2019_msvc16", name: "Windows Server 2019 MSVC 16", cxx: "", cc: "", runs-on: "windows-2019" }
26
- - { tag: "macos-12_gcc-12", name: "MacOS 12 G++ 12", cxx: "g++-12", cc: "gcc-12", runs-on: "macos-12" }
27
- # - { tag: "macos-12_gcc-13", name: "MacOS 12 G++ 13", cxx: "g++-13", cc: "gcc-13", runs-on: "macos-12" }
28
- - { tag: "macos-12_gcc-14", name: "MacOS 12 G++ 14", cxx: "g++-14", cc: "gcc-14", runs-on: "macos-12" }
29
- - { tag: "macos-12_clang-15", name: "MacOS 12 Clang 15", cxx: "/usr/local/opt/llvm@15/bin/clang++", cc: "/usr/local/opt/llvm@15/bin/clang", runs-on: "macos-12" }
30
- - { tag: "macos-13_gcc-12", name: "MacOS 13 G++ 12", cxx: "g++-12", cc: "gcc-12", runs-on: "macos-13" }
31
- # - { tag: "macos-13_gcc-13", name: "MacOS 13 G++ 13", cxx: "g++-13", cc: "gcc-13", runs-on: "macos-13" }
32
- - { tag: "macos-13_gcc-14", name: "MacOS 13 G++ 14", cxx: "g++-14", cc: "gcc-14", runs-on: "macos-13" }
33
- - { tag: "macos-13_clang-15", name: "MacOS 13 Clang 15", cxx: "/usr/local/opt/llvm@15/bin/clang++", cc: "/usr/local/opt/llvm@15/bin/clang", runs-on: "macos-13" }
34
- - { tag: "macos-14_gcc-12", name: "MacOS 14 G++ 12", cxx: "g++-12", cc: "gcc-12", runs-on: "macos-14" }
35
- # - { tag: "macos-14_gcc-13", name: "MacOS 14 G++ 13", cxx: "g++-13", cc: "gcc-13", runs-on: "macos-14" }
36
- - { tag: "macos-14_gcc-14", name: "MacOS 14 G++ 14", cxx: "g++-14", cc: "gcc-14", runs-on: "macos-14" }
37
- - { tag: "macos-14_clang-15", name: "MacOS 14 Clang 15", cxx: "/opt/homebrew/Cellar/llvm@15/15.0.7/bin/clang++", cc: "/opt/homebrew/Cellar/llvm@15/15.0.7/bin/clang", runs-on: "macos-14" }
27
+ - { tag: "macos-13_clang-15", name: "MacOS 13 Clang 15", cxx: "/usr/local/Cellar/llvm@15//15.0.7/bin/clang++", cc: "/usr/local/Cellar/llvm@15//15.0.7/bin/clang", runs-on: "macos-13" }
28
+ - { tag: "macos-14-arm_clang-15", name: "MacOS 14 (Arm64) Clang 15", cxx: "/opt/homebrew/opt/llvm@15/bin/clang++", cc: "/opt/homebrew/opt/llvm@15/bin/clang", runs-on: "macos-14" }
29
+ - { tag: "macos-15-arm_clang-18", name: "MacOS 15 (Arm64) Clang 18", cxx: "/opt/homebrew/opt/llvm@18/bin/clang++", cc: "/opt/homebrew/opt/llvm@18/bin/clang", runs-on: "macos-15" }
30
+ # x64 MacOS is payed only for >= 14
31
+ # - { tag: "macos-14_clang-15", name: "MacOS 14 Clang 15", cxx: "/opt/homebrew/opt/llvm@15/bin/clang++", cc: "/opt/homebrew/opt/llvm@15/bin/clang", runs-on: "macos-14-large" }
32
+ # - { tag: "macos-15_clang-18", name: "MacOS 15 Clang 18", cxx: "/opt/homebrew/opt/llvm@18/bin/clang++", cc: "/opt/homebrew/opt/llvm@18/bin/clang", runs-on: "macos-15-large" }
38
33
runs-on : ${{ matrix.compiler.runs-on }}
39
34
name : Compiler ${{ matrix.compiler.name }}
40
35
env :
41
36
CXX : ${{ matrix.compiler.cxx }}
42
37
CC : ${{ matrix.compiler.cc }}
43
38
outputs :
44
39
# Because github wants us to suffer we need to list out every output instead of using a matrix statement or some kind of dynamic setting
40
+ ubuntu-2404_clang-16 : ${{ steps.status.outputs.ubuntu-2404_clang-16 }}
41
+ ubuntu-2404_clang-17 : ${{ steps.status.outputs.ubuntu-2404_clang-17 }}
42
+ ubuntu-2404_clang-18 : ${{ steps.status.outputs.ubuntu-2404_clang-18 }}
43
+ ubuntu-2404_gcc-12 : ${{ steps.status.outputs.ubuntu-2404_gcc-12 }}
44
+ ubuntu-2404_gcc-13 : ${{ steps.status.outputs.ubuntu-2404_gcc-13 }}
45
+ ubuntu-2404_gcc-14 : ${{ steps.status.outputs.ubuntu-2404_gcc-14 }}
45
46
ubuntu-2204_clang-13 : ${{ steps.status.outputs.ubuntu-2204_clang-13 }}
46
47
ubuntu-2204_clang-14 : ${{ steps.status.outputs.ubuntu-2204_clang-14 }}
47
48
ubuntu-2204_clang-15 : ${{ steps.status.outputs.ubuntu-2204_clang-15 }}
48
49
ubuntu-2204_gcc-10 : ${{ steps.status.outputs.ubuntu-2204_gcc-10 }}
49
50
ubuntu-2204_gcc-11 : ${{ steps.status.outputs.ubuntu-2204_gcc-11 }}
50
- ubuntu-2004_clang-12 : ${{ steps.status.outputs.ubuntu-2004_clang-12 }}
51
- ubuntu-2004_clang-11 : ${{ steps.status.outputs.ubuntu-2004_clang-11 }}
52
- ubuntu-2004_clang-10 : ${{ steps.status.outputs.ubuntu-2004_clang-10 }}
53
- ubuntu-2004_gcc-10 : ${{ steps.status.outputs.ubuntu-2004_gcc-10 }}
51
+ windows-2025_msvc17 : ${{ steps.status.outputs.windows-2025_msvc17 }}
54
52
windows-2022_msvc17 : ${{ steps.status.outputs.windows-2022_msvc17 }}
55
- windows-2019_msvc16 : ${{ steps.status.outputs.windows-2019_msvc16 }}
56
- macos-12_gcc-12 : ${{ steps.status.outputs.macos-12_gcc-12 }}
57
- macos-12_gcc-13 : ${{ steps.status.outputs.macos-12_gcc-13 }}
58
- macos-12_gcc-14 : ${{ steps.status.outputs.macos-12_gcc-14 }}
59
- macos-12_clang-15 : ${{ steps.status.outputs.macos-12_clang-15 }}
60
- macos-13_gcc-12 : ${{ steps.status.outputs.macos-13_gcc-12 }}
61
- macos-13_gcc-13 : ${{ steps.status.outputs.macos-13_gcc-13 }}
62
- macos-13_gcc-14 : ${{ steps.status.outputs.macos-13_gcc-14 }}
63
53
macos-13_clang-15 : ${{ steps.status.outputs.macos-13_clang-15 }}
64
- macos-14_gcc-12 : ${{ steps.status.outputs.macos-14_gcc-12 }}
65
- macos-14_gcc-13 : ${{ steps.status.outputs.macos-14_gcc-13 }}
66
- macos-14_gcc-14 : ${{ steps.status.outputs.macos-14_gcc-14 }}
54
+ macos-14-arm_clang-15 : ${{ steps.status.outputs.macos-14-arm_clang-15 }}
55
+ macos-15-arm_clang-18 : ${{ steps.status.outputs.macos-15-arm_clang-18 }}
67
56
macos-14_clang-15 : ${{ steps.status.outputs.macos-14_clang-15 }}
57
+ macos-15_clang-18 : ${{ steps.status.outputs.macos-15_clang-18 }}
68
58
defaults :
69
59
run :
70
60
shell : bash -l {0}
81
71
sudo apt autoremove libstdc++-13-dev gcc-13 libgcc-13-dev
82
72
sudo apt install libstdc++-12-dev gcc-12 libgcc-12-dev
83
73
- name : Install liburing
84
- # Ubuntu 22.04 can just pull liburing from apt
85
- if : contains(matrix.compiler.tag, 'ubuntu-2204')
74
+ if : contains(matrix.compiler.runs-on, 'ubuntu')
86
75
run : sudo apt install liburing-dev
87
- - name : Install liburing
88
- # Ubuntu 20.04 does not have liburing in apt, pull in deb files from 22.04 instead
89
- if : contains(matrix.compiler.tag, 'ubuntu-2004')
90
- run : |
91
- wget -O /tmp/liburing2_2.1-2build1_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/libu/liburing/liburing2_2.1-2build1_amd64.deb
92
- wget -O /tmp/liburing-dev_2.1-2build1_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/libu/liburing/liburing-dev_2.1-2build1_amd64.deb
93
- sudo dpkg -i /tmp/liburing-dev_2.1-2build1_amd64.deb /tmp/liburing2_2.1-2build1_amd64.deb
94
76
- name : Configure
95
77
if : contains(matrix.compiler.tag, 'ubuntu')
96
78
run : cmake -S. -Bbuild -DASYNCPP_BUILD_TEST=ON -DASYNCPP_WITH_ASAN=ON -DASYNCPP_WITH_TSAN=OFF
0 commit comments