-
Notifications
You must be signed in to change notification settings - Fork 0
82 lines (80 loc) · 2.86 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
81
82
name: GitHub Actions tools
on:
push:
branches: [ master ]
workflow_dispatch:
jobs:
doxygen:
name: Doxygen
runs-on: ubuntu-latest
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
tar -xf ${DOXYGEN_RELEASE}.tar.gz
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.${DOXYGEN_VERSION}.linux.tar.gz
ls -lh ${{github.workspace}}
- name: Upload Doxygen artifact
uses: actions/upload-artifact@v4
with:
name: Doxygen
path: ${{github.workspace}}/*.linux.tar.gz
llvm-clang:
name: LLVM+Clang tools
runs-on: ubuntu-latest
env:
BUILDCACHE_ACCURACY: STRICT
BUILDCACHE_COMPRESS_FORMAT: ZSTD
BUILDCACHE_DEBUG: -1
BUILDCACHE_LOG_FILE: ""
LLVMCLANG_MAJOR_VERSION: 18
LLVMCLANG_VERSION: 18.1.8
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 LLVM+Clang
run: |
wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${LLVMCLANG_VERSION}.tar.gz
tar -xf llvmorg-${LLVMCLANG_VERSION}.tar.gz
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.${LLVMCLANG_VERSION}.linux.tar.gz
tar -cz clang-format -f ${{github.workspace}}/clang-format.${LLVMCLANG_VERSION}.linux.tar.gz
tar -cz clang-tidy -f ${{github.workspace}}/clang-tidy.${LLVMCLANG_VERSION}.linux.tar.gz
cd ../lib/clang/${LLVMCLANG_MAJOR_VERSION}
tar -cz . -f ${{github.workspace}}/clang-include.${LLVMCLANG_VERSION}.linux.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}}/*.linux.tar.gz