Skip to content

Commit 46e1621

Browse files
authored
Merge pull request #2 from xdoardo/cheri-ci
Use CHERIoT-Platform's LLVM + CI to check it
2 parents 085bdc2 + 9523d0a commit 46e1621

File tree

4 files changed

+95
-3
lines changed

4 files changed

+95
-3
lines changed

.cirrus.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
gcp_credentials: ENCRYPTED[5ee9e22237c8368fdae53b368a38509d62a168e1b5a8162a9bd8dfef5e874a4f41cd8235d498b99d2c2860c77e06ecd1]
2+
3+
# -- PR tasks
4+
5+
pr_check_commits_task:
6+
skip: $CIRRUS_PR == ""
7+
name: (PR) Check commits structure
8+
timeout_in: 240m
9+
gce_instance: &arm_vm
10+
image_project: ubuntu-os-cloud
11+
image_family: ubuntu-2404-lts-arm64
12+
architecture: arm64
13+
zone: us-east1-b
14+
type: c4a-standard-16
15+
disk: 60
16+
spot: true
17+
env:
18+
GH_TOKEN: ""
19+
dependencies_script:
20+
- set -eo pipefail
21+
# No need to clone.
22+
clone_script: []
23+
test_script: |
24+
commits=$(curl -s -H "Accept: application/vnd.github+json" https://api.github.com/repos/CHERIoT-Platform/cheri-rust/pulls/$CIRRUS_PR | jq '.commits')
25+
if [[ $commits -ne 1 ]]; then
26+
echo "Expected a single commit, found $commits"
27+
echo "In order to facilitate cherry-picking commits into other branches,"
28+
echo "please squash your commits into a single one."
29+
exit 1;
30+
fi
31+
32+
x_check_task:
33+
skip: $CIRRUS_PR == ""
34+
name: (PR) Run ./x check
35+
depends_on: (PR) Check commits structure
36+
timeout_in: 240m
37+
gce_instance: &arm_vm
38+
image_project: ubuntu-os-cloud
39+
image_family: ubuntu-2404-lts-arm64
40+
architecture: arm64
41+
zone: us-east1-b
42+
type: c4a-standard-16
43+
disk: 60
44+
spot: true
45+
env:
46+
CIRRUS_CLONE_DEPTH: 0
47+
48+
dependencies_script:
49+
- set -eo pipefail
50+
- apt-get update
51+
- apt-get install -y clang ninja-build lld cmake ccache perl
52+
gen_bootstrap_script: ./cheri/gen_bootstrap.sh
53+
setup_env_script:
54+
- export CCACHE_REMOTE_STORAGE="http://${CIRRUS_HTTP_CACHE_HOST}/${CIRRUS_OS}/"
55+
- export CCACHE_REMOTE_ONLY=1
56+
- env
57+
test_script: CC="clang" CXX="clang++" ./x check
58+
59+
# -- End PR tasks

.gitmodules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
shallow = true
2525
[submodule "src/llvm-project"]
2626
path = src/llvm-project
27-
url = https://github.com/rust-lang/llvm-project.git
28-
branch = rustc/20.1-2025-07-13
27+
url = https://github.com/CHERIoT-Platform/llvm-project.git
28+
branch = cheriot
2929
shallow = true
3030
[submodule "src/doc/embedded-book"]
3131
path = src/doc/embedded-book

cheri/gen_bootstrap.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
3+
FILE="bootstrap.toml"
4+
5+
if [ -e "$FILE" ]; then
6+
echo "$FILE already exists!"
7+
exit 1
8+
else
9+
cat > "$FILE" <<- EOF
10+
11+
# See bootstrap.example.toml for documentation of available options
12+
#
13+
profile = "compiler" # Includes one of the default files in src/bootstrap/defaults
14+
change-id = 140732
15+
16+
[build]
17+
ccache = true
18+
19+
[rust]
20+
#channel = "nightly"
21+
#codegen-backends = ["llvm"]
22+
#debug = true
23+
#debuginfo-level = 2
24+
std-features = ["compiler-builtins-mem"]
25+
26+
[llvm]
27+
targets = "all"
28+
experimental-targets = ""
29+
download-ci-llvm = false
30+
build-config = {CMAKE_C_COMPILER="clang", CMAKE_CXX_COMPILER="clang++"}
31+
32+
EOF
33+
fi

src/llvm-project

0 commit comments

Comments
 (0)