@@ -14,29 +14,58 @@ jobs:
1414 matrix :
1515 config :
1616 - {
17- name : " Ubuntu Latest GCC Release" ,
18- os : ubuntu-20 .04,
17+ name : " Ubuntu Latest GCC Release (Intel) " ,
18+ os : ubuntu-22 .04,
1919 build_type : " Release" , cc: "gcc", cxx: "g++",
2020 build_gen : " Unix Makefiles" ,
2121 cmake_extra_opts : " -Dbuild_search=YES -Dbuild_app=YES -Dbuild_parse=YES"
2222 }
2323 - {
24- name : " Ubuntu Latest GCC Debug" ,
25- os : ubuntu-20 .04,
24+ name : " Ubuntu Latest GCC Debug (Intel) " ,
25+ os : ubuntu-22 .04,
2626 build_type : " Debug" , cc: "gcc", cxx: "g++",
2727 build_gen : " Unix Makefiles" ,
2828 cmake_extra_opts : " -Dbuild_search=YES -Dbuild_app=YES -Dbuild_parse=YES"
2929 }
3030 - {
31- name : " Ubuntu Latest Clang Release" ,
32- os : ubuntu-20 .04,
31+ name : " Ubuntu Latest Clang Release (Intel) " ,
32+ os : ubuntu-22 .04,
3333 build_type : " Release" , cc: "clang", cxx: "clang++",
3434 build_gen : " Unix Makefiles" ,
3535 cmake_extra_opts : " -Duse_libclang=YES -Dstatic_libclang=YES -Duse_libc++=NO"
3636 }
3737 - {
38- name : " Ubuntu Latest Clang Debug" ,
39- os : ubuntu-20.04,
38+ name : " Ubuntu Latest Clang Debug (Intel)" ,
39+ os : ubuntu-22.04,
40+ build_type : " Debug" , cc: "clang", cxx: "clang++",
41+ build_gen : " Unix Makefiles" ,
42+ cmake_extra_opts : " -Duse_libclang=YES -Dstatic_libclang=YES -Duse_libc++=NO"
43+ }
44+
45+ - {
46+ name : " Ubuntu Latest GCC Release (Arm)" ,
47+ os : ubuntu-24.04-arm,
48+ build_type : " Release" , cc: "gcc", cxx: "g++",
49+ build_gen : " Unix Makefiles" ,
50+ cmake_extra_opts : " -Dbuild_search=YES -Dbuild_app=YES -Dbuild_parse=YES"
51+ }
52+ - {
53+ name : " Ubuntu Latest GCC Debug (Arm)" ,
54+ os : ubuntu-24.04-arm,
55+ build_type : " Debug" , cc: "gcc", cxx: "g++",
56+ build_gen : " Unix Makefiles" ,
57+ cmake_extra_opts : " -Dbuild_search=YES -Dbuild_app=YES -Dbuild_parse=YES"
58+ }
59+ - {
60+ name : " Ubuntu Latest Clang Release (Arm)" ,
61+ os : ubuntu-24.04-arm,
62+ build_type : " Release" , cc: "clang", cxx: "clang++",
63+ build_gen : " Unix Makefiles" ,
64+ cmake_extra_opts : " -Duse_libclang=YES -Dstatic_libclang=YES -Duse_libc++=NO"
65+ }
66+ - {
67+ name : " Ubuntu Latest Clang Debug (Arm)" ,
68+ os : ubuntu-24.04-arm,
4069 build_type : " Debug" , cc: "clang", cxx: "clang++",
4170 build_gen : " Unix Makefiles" ,
4271 cmake_extra_opts : " -Duse_libclang=YES -Dstatic_libclang=YES -Duse_libc++=NO"
@@ -105,32 +134,48 @@ jobs:
105134 echo "/Library/TeX/texbin/" >> $GITHUB_PATH
106135 if : startsWith(matrix.config.os,'macos-')
107136
108- - name : Install libclang (Ubuntu 20.04)
137+ - name : Install libclang (Ubuntu 22.04)
138+ run : |
139+ sudo apt update
140+ sudo apt remove llvm-13 llvm-13-dev llvm-13-tools llvm-13-runtime clang-13 clang-format-13 libclang-common-13-dev libclang-cpp13 libclang1-13 libllvm13
141+ sudo apt remove llvm-15 llvm-15-dev llvm-15-tools llvm-15-runtime clang-15 clang-format-15 libclang-common-15-dev libclang-cpp15 libclang1-15 libllvm15
142+ sudo apt-get autoremove
143+ sudo apt-get clean
144+ sudo apt install libclang-common-14-dev libclang-14-dev
145+ apt list --installed | egrep '(clang|llvm)'
146+ ls -d /usr/lib/llvm-*/include/
147+ sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 100
148+ sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-14 100
149+ ls -al /usr/bin/clang++
150+ ls -al /etc/alternatives/clang++
151+ which clang++
152+ clang++ -v
153+ if : matrix.config.cc == 'clang' && matrix.config.os == 'ubuntu-22.04'
154+
155+ - name : Install libclang (Ubuntu 24.04 ARM)
109156 run : |
110157 sudo apt update
111- sudo apt remove llvm-8 clang-8 libclang-common-8-dev clang-format-8 libllvm8
112- sudo apt remove llvm-9 llvm-9-dev llvm-9-tools llvm-9-runtime clang-9 libclang-common-9-dev clang-format-9 libllvm9
113- #sudo apt remove llvm-10 llvm-10-dev llvm-10-tools llvm-10-runtime clang-10 clang-format-10 libclang-common-10-dev libclang-cpp10 libclang1-10 libllvm10
114- sudo apt remove llvm-11 llvm-11-dev llvm-11-tools llvm-11-runtime clang-11 clang-format-11 libclang-common-11-dev libclang-cpp11 libclang1-11 libllvm11
115- sudo apt remove llvm-12 llvm-12-dev llvm-12-tools llvm-12-runtime clang-12 clang-format-12 libclang-common-12-dev libclang-cpp12 libclang1-12 libllvm12
158+ sudo apt remove llvm-14 llvm-14-dev llvm-14-tools llvm-14-runtime clang-14 clang-format-14 libclang-common-14-dev libclang-cpp14 libclang1-14 libllvm14
159+ sudo apt remove llvm-15 llvm-15-dev llvm-15-tools llvm-15-runtime clang-15 clang-format-15 libclang-common-15-dev libclang-cpp15 libclang1-15 libllvm15
160+ sudo apt remove llvm-16 llvm-16-dev llvm-16-tools llvm-16-runtime clang-16 clang-format-16 libclang-common-16-dev libclang-cpp16 libclang1-16 libllvm16
116161 sudo apt-get autoremove
117162 sudo apt-get clean
118- sudo apt install libclang-common-10 -dev libclang-10 -dev
163+ sudo apt install -y libclang-common-18 -dev libclang-18-dev clang-18 llvm-18 llvm-18 -dev
119164 apt list --installed | egrep '(clang|llvm)'
120165 ls -d /usr/lib/llvm-*/include/
121- sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-10 100
122- sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-10 100
166+ sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100
167+ sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100
123168 ls -al /usr/bin/clang++
124169 ls -al /etc/alternatives/clang++
125170 which clang++
126171 clang++ -v
127- if : matrix.config.os == 'ubuntu-20 .04'
172+ if : matrix.config.os == 'ubuntu-24 .04-arm '
128173
129- - name : Install libxapian (Ubuntu 20 .04)
174+ - name : Install libxapian (Ubuntu 22 .04)
130175 run : |
131176 sudo apt update
132177 sudo apt install libxapian-dev
133- if : matrix.config.os == 'ubuntu-20 .04'
178+ if : matrix.config.os == 'ubuntu-22 .04' || matrix.config.os == 'ubuntu-24.04-arm '
134179
135180 - name : Install LaTeX (Windows)
136181 uses : teatimeguest/setup-texlive-action@v3
@@ -224,17 +269,23 @@ jobs:
224269 refreshenv
225270 if : matrix.config.os == 'windows-latest'
226271
227- - name : Install Qt 6
228- uses : jurplel/install-qt-action@v4
272+ - name : Install Qt 6.8
273+ uses : jdpurcell/install-qt-action@v5
274+ with :
275+ version : 6.8.*
276+ if : matrix.config.os == 'ubuntu-24.04-arm'
277+
278+ - name : Install Qt 6.2
279+ uses : jdpurcell/install-qt-action@v5
229280 with :
230281 version : 6.2.*
231282 if : startsWith(matrix.config.os,'macos-')
232283
233284 - name : Install Qt 5
234- uses : jurplel /install-qt-action@v4
285+ uses : jdpurcell /install-qt-action@v5
235286 with :
236287 version : 5.*
237- if : startsWith(matrix.config.os,'macos-')!=true
288+ if : startsWith(matrix.config.os,'macos-')!=true && matrix.config.os != 'ubuntu-24.04-arm'
238289
239290 - name : Check tool versions (Linux / MacOS)
240291 shell : bash
@@ -380,15 +431,14 @@ jobs:
380431 with :
381432 name : " Html documentation artifacts"
382433 path : build/html/
383- if : matrix.config.name == 'Ubuntu Latest GCC Release'
384-
434+ if : matrix.config.name == 'Ubuntu Latest GCC Release (Intel)'
385435
386436 - name : Archive Latex documentation artifacts
387437 uses : actions/upload-artifact@v4
388438 with :
389439 name : " Latex documentation artifacts"
390440 path : build/latex/doxygen_manual.pdf
391- if : matrix.config.name == 'Ubuntu Latest GCC Release'
441+ if : matrix.config.name == 'Ubuntu Latest GCC Release (Intel) '
392442
393443 - name : Generate Internal documentation
394444 shell : cmake -P {0}
@@ -400,7 +450,7 @@ jobs:
400450 if (NOT result EQUAL 0)
401451 message(FATAL_ERROR "Building internal documentation failed")
402452 endif()
403- if : matrix.config.name == 'Ubuntu Latest GCC Release'
453+ if : matrix.config.name == 'Ubuntu Latest GCC Release (Intel) '
404454
405455 - name : Publish Internal documentation to Github pages
406456 uses : peaceiris/actions-gh-pages@v4
@@ -409,5 +459,6 @@ jobs:
409459 external_repository : doxygen/doxygen-docs
410460 publish_dir : build/doxygen_docs/html
411461 force_orphan : true
412- if : ${{ github.event_name == 'push' && matrix.config.name == 'Ubuntu Latest GCC Release' }}
462+ if : ${{ github.event_name == 'push' && matrix.config.name == 'Ubuntu Latest GCC Release (Intel)' }}
463+
413464
0 commit comments