Skip to content

Commit 33a89a6

Browse files
authoredMar 4, 2025··
Merge pull request doxygen#11468 from gmitch215/patch-1
Add Linux ARM to CI
2 parents e5f437e + 01dd91f commit 33a89a6

File tree

1 file changed

+66
-14
lines changed

1 file changed

+66
-14
lines changed
 

‎.github/workflows/build_cmake.yml

+66-14
Original file line numberDiff line numberDiff line change
@@ -14,33 +14,62 @@ jobs:
1414
matrix:
1515
config:
1616
- {
17-
name: "Ubuntu Latest GCC Release",
17+
name: "Ubuntu Latest GCC Release (Intel)",
1818
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",
24+
name: "Ubuntu Latest GCC Debug (Intel)",
2525
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",
31+
name: "Ubuntu Latest Clang Release (Intel)",
3232
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",
38+
name: "Ubuntu Latest Clang Debug (Intel)",
3939
os: ubuntu-22.04,
4040
build_type: "Debug", cc: "clang", cxx: "clang++",
4141
build_gen: "Unix Makefiles",
4242
cmake_extra_opts: "-Duse_libclang=YES -Dstatic_libclang=YES -Duse_libc++=NO"
4343
}
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,
69+
build_type: "Debug", cc: "clang", cxx: "clang++",
70+
build_gen: "Unix Makefiles",
71+
cmake_extra_opts: "-Duse_libclang=YES -Dstatic_libclang=YES -Duse_libc++=NO"
72+
}
4473
- {
4574
name: "macOS Latest Release (Intel)",
4675
os: macos-13,
@@ -123,11 +152,29 @@ jobs:
123152
clang++ -v
124153
if: matrix.config.cc == 'clang' && matrix.config.os == 'ubuntu-22.04'
125154

155+
- name: Install libclang (Ubuntu 24.04 ARM)
156+
run: |
157+
sudo apt update
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-get autoremove
161+
sudo apt-get clean
162+
sudo apt install -y libclang-common-18-dev libclang-18-dev clang-18 llvm-18 llvm-18-dev
163+
apt list --installed | egrep '(clang|llvm)'
164+
ls -d /usr/lib/llvm-*/include/
165+
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100
166+
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100
167+
ls -al /usr/bin/clang++
168+
ls -al /etc/alternatives/clang++
169+
which clang++
170+
clang++ -v
171+
if: matrix.config.os == 'ubuntu-24.04-arm'
172+
126173
- name: Install libxapian (Ubuntu 22.04)
127174
run: |
128175
sudo apt update
129176
sudo apt install libxapian-dev
130-
if: matrix.config.os == 'ubuntu-22.04'
177+
if: matrix.config.os == 'ubuntu-22.04' || matrix.config.os == 'ubuntu-24.04-arm'
131178

132179
- name: Install LaTeX (Windows)
133180
uses: teatimeguest/setup-texlive-action@v3
@@ -221,17 +268,23 @@ jobs:
221268
refreshenv
222269
if: matrix.config.os == 'windows-latest'
223270

224-
- name: Install Qt 6
225-
uses: jurplel/install-qt-action@v4
271+
- name: Install Qt 6.8
272+
uses: jdpurcell/install-qt-action@v4
273+
with:
274+
version: 6.8.*
275+
if: matrix.config.os == 'ubuntu-24.04-arm'
276+
277+
- name: Install Qt 6.2
278+
uses: jdpurcell/install-qt-action@v4
226279
with:
227280
version: 6.2.*
228281
if: startsWith(matrix.config.os,'macos-')
229282

230283
- name: Install Qt 5
231-
uses: jurplel/install-qt-action@v4
284+
uses: jdpurcell/install-qt-action@v4
232285
with:
233286
version: 5.*
234-
if: startsWith(matrix.config.os,'macos-')!=true
287+
if: startsWith(matrix.config.os,'macos-')!=true && matrix.config.os != 'ubuntu-24.04-arm'
235288

236289
- name: Check tool versions (Linux / MacOS)
237290
shell: bash
@@ -377,15 +430,14 @@ jobs:
377430
with:
378431
name: "Html documentation artifacts"
379432
path: build/html/
380-
if: matrix.config.name == 'Ubuntu Latest GCC Release'
381-
433+
if: matrix.config.name == 'Ubuntu Latest GCC Release (Intel)'
382434

383435
- name: Archive Latex documentation artifacts
384436
uses: actions/upload-artifact@v4
385437
with:
386438
name: "Latex documentation artifacts"
387439
path: build/latex/doxygen_manual.pdf
388-
if: matrix.config.name == 'Ubuntu Latest GCC Release'
440+
if: matrix.config.name == 'Ubuntu Latest GCC Release (Intel)'
389441

390442
- name: Generate Internal documentation
391443
shell: cmake -P {0}
@@ -397,7 +449,7 @@ jobs:
397449
if (NOT result EQUAL 0)
398450
message(FATAL_ERROR "Building internal documentation failed")
399451
endif()
400-
if: matrix.config.name == 'Ubuntu Latest GCC Release'
452+
if: matrix.config.name == 'Ubuntu Latest GCC Release (Intel)'
401453

402454
- name: Publish Internal documentation to Github pages
403455
uses: peaceiris/actions-gh-pages@v4
@@ -406,6 +458,6 @@ jobs:
406458
external_repository: doxygen/doxygen-docs
407459
publish_dir: build/doxygen_docs/html
408460
force_orphan: true
409-
if: ${{ github.event_name == 'push' && matrix.config.name == 'Ubuntu Latest GCC Release' }}
461+
if: ${{ github.event_name == 'push' && matrix.config.name == 'Ubuntu Latest GCC Release (Intel)' }}
410462

411463

0 commit comments

Comments
 (0)
Please sign in to comment.