-
Notifications
You must be signed in to change notification settings - Fork 0
80 lines (78 loc) · 2.66 KB
/
cd.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: GitHub Actions tools
on:
push:
branches: [ master ]
workflow_dispatch:
jobs:
doxygen:
name: Doxygen
runs-on: ubuntu-22.04
env:
BUILDCACHE_ACCURACY: STRICT
BUILDCACHE_COMPRESS_FORMAT: ZSTD
BUILDCACHE_DEBUG: -1
BUILDCACHE_LOG_FILE: ""
DOXYGEN_VERSION: 1.9.3
steps:
- name: Install CMake and Ninja
uses: lukka/get-cmake@latest
- name: Install buildcache
uses: mikehardy/buildcache-action@v2
with:
cache_key: doxygen
- name: Build Doxygen
run: |
export DOXYGEN_RELEASE=Release_${DOXYGEN_VERSION//./_}
wget https://github.com/doxygen/doxygen/archive/refs/tags/${DOXYGEN_RELEASE}.tar.gz -O - | tar -xz
cd doxygen-${DOXYGEN_RELEASE}
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
ninja
cd bin
tar -cz doxygen -f ${{github.workspace}}/doxygen.tar.gz
ls -lh ${{github.workspace}}
- name: Upload Doxygen artifact
uses: actions/upload-artifact@v4
with:
name: Doxygen
path: ${{github.workspace}}/doxygen.tar.gz
llvm-clang:
name: LLVM+Clang tools
runs-on: ubuntu-22.04
env:
BUILDCACHE_ACCURACY: STRICT
BUILDCACHE_COMPRESS_FORMAT: ZSTD
BUILDCACHE_DEBUG: -1
BUILDCACHE_LOG_FILE: ""
LLVMCLANG_MAJOR_VERSION: 19
LLVMCLANG_VERSION: 19.1.7
steps:
- name: Install CMake and Ninja
uses: lukka/get-cmake@latest
- name: Install buildcache
uses: mikehardy/buildcache-action@v2
with:
cache_key: llvmclang
- name: Build LLVM+Clang
run: |
wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${LLVMCLANG_VERSION}.tar.gz -O - | tar -xz
cd llvm-project-llvmorg-${LLVMCLANG_VERSION}
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" -DLLVM_TARGETS_TO_BUILD=X86 ../llvm
ninja
cd bin
\rm clang
cp -p clang-${LLVMCLANG_MAJOR_VERSION} clang
tar -cz clang -f ${{github.workspace}}/clang.tar.gz
tar -cz clang-format -f ${{github.workspace}}/clang-format.tar.gz
tar -cz clang-tidy -f ${{github.workspace}}/clang-tidy.tar.gz
cd ../lib/clang/${LLVMCLANG_MAJOR_VERSION}
tar -cz . -f ${{github.workspace}}/clang-include.tar.gz
ls -lh ${{github.workspace}}
- name: Upload LLVM+Clang tools artifact
uses: actions/upload-artifact@v4
with:
name: LLVM+Clang tools
path: ${{github.workspace}}/clang*.tar.gz