forked from CHERIoT-Platform/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.cirrus.yml
99 lines (97 loc) · 3.91 KB
/
.cirrus.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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
pr_task:
name: Build and test PR
skip: $CIRRUS_PR == ""
timeout_in: 120m
container:
image: ubuntu:24.04
cpu: 8
memory: 16G
env:
NINJA_STATUS: '%p [%f:%s/%t] %o/s, %es'
CIRRUS_CLONE_DEPTH: 1
dependencies_script:
- set -eo pipefail
- apt-get update
- apt-get install -y clang ninja-build lld cmake
configure_script:
- mkdir Build
- cd Build
- cmake ../llvm -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" -DLLVM_ENABLE_UNWIND_TABLES=NO -DLLVM_ENABLE_LLD=ON -DLLVM_PARALLEL_LINK_JOBS=1 -G Ninja
build_script:
- cd Build
- ninja
test_script:
- cd Build
# Filter out 27 tests that fail in CI.
# - The scan-build and update_cc_test_checks tests fail because of a missing Perl dependency.
# - The llvm-ar test fails because CI runs as root and can override the permissions.
# - The llvm-dwarfdump and llvm-ifs tests fails with a permission error.
- ./bin/llvm-lit -v --filter-out '(LibClang/symbols\.test)|(.*/scan-build/.*)|(.*/update_cc_test_checks/.*)|(tools/llvm-ar/error-opening-permission.test)|(tools/llvm-dwarfdump/X86/output.s)|(tools/llvm-ifs/fail-file-write.test)' ../llvm/test/ ../clang/test/
x86_release_task:
name: Build and upload artefact x86_64
only_if: ($CIRRUS_PR == "") && ($CIRRUS_BRANCH == "cheriot")
timeout_in: 120m
container:
image: ubuntu:24.04
cpu: 8
memory: 16G
env:
NINJA_STATUS: '%p [%f:%s/%t] %o/s, %es'
CIRRUS_CLONE_DEPTH: 1
dependencies_script:
- set -eo pipefail
- apt-get update
- apt-get install -y clang ninja-build lld cmake
configure_script:
- mkdir Build
- cd Build
- cmake ../llvm -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" -DLLVM_ENABLE_UNWIND_TABLES=NO -DLLVM_ENABLE_LLD=ON -DLLVM_TARGETS_TO_BUILD=RISCV -DLLVM_DISTRIBUTION_COMPONENTS="clang;clangd;lld;llvm-objdump;llvm-objcopy;llvm-strip;clang-tidy;clang-format" -DCMAKE_INSTALL_PREFIX=install -DLLVM_PARALLEL_LINK_JOBS=1 -G Ninja
build_script:
- cd Build
- ninja install-distribution
- cp ../llvm/LICENSE.TXT install/LLVM-LICENSE.TXT
# Artefact upload uploads symlinks as copies, so delete all of the clang symlinks
- rm install/bin/clang
- rm install/bin/clang++
- rm install/bin/clang-cl
- rm install/bin/clang-cpp
- rm install/bin/ld.lld
- rm install/bin/ld64*
- rm install/bin/lld-link
- rm install/bin/wasm-ld
binaries_artifacts:
path: "Build/install/**"
arm_release_task:
name: Build and upload artefact aarch64
only_if: ($CIRRUS_PR == "") && ($CIRRUS_BRANCH == "cheriot")
timeout_in: 120m
arm_container:
image: ubuntu:24.04
cpu: 8
memory: 16G
env:
NINJA_STATUS: '%p [%f:%s/%t] %o/s, %es'
CIRRUS_CLONE_DEPTH: 1
dependencies_script:
- set -eo pipefail
- apt-get update
- apt-get install -y clang ninja-build lld cmake
configure_script:
- mkdir Build
- cd Build
- cmake ../llvm -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" -DLLVM_ENABLE_UNWIND_TABLES=NO -DLLVM_ENABLE_LLD=ON -DLLVM_TARGETS_TO_BUILD=RISCV -DLLVM_DISTRIBUTION_COMPONENTS="clang;clangd;lld;llvm-objdump;llvm-objcopy;llvm-strip;clang-tidy;clang-format" -DCMAKE_INSTALL_PREFIX=install -DLLVM_PARALLEL_LINK_JOBS=1 -G Ninja
build_script:
- cd Build
- ninja install-distribution
- cp ../llvm/LICENSE.TXT install/LLVM-LICENSE.TXT
# Artefact upload uploads symlinks as copies, so delete all of the clang symlinks
- rm install/bin/clang
- rm install/bin/clang++
- rm install/bin/clang-cl
- rm install/bin/clang-cpp
- rm install/bin/ld.lld
- rm install/bin/ld64*
- rm install/bin/lld-link
- rm install/bin/wasm-ld
binaries_artifacts:
path: "Build/install/**"