Skip to content
This repository was archived by the owner on Jul 3, 2023. It is now read-only.

Commit 0ec8859

Browse files
authored
CI uses self-hosted runners. (#210)
CI uses new self-hosted runners.
1 parent 59336b4 commit 0ec8859

File tree

3 files changed

+72
-4
lines changed

3 files changed

+72
-4
lines changed

.github/workflows/coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on: [push, pull_request]
55
jobs:
66
check:
77
name: Coverage
8-
runs-on: ubuntu-latest
8+
runs-on: [self-hosted, Linux, skylake-2x]
99

1010
steps:
1111
- name: Checkout

.github/workflows/main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
- {
3232
rust: nightly,
3333
target: x86_64-unknown-linux-gnu,
34-
os: ubuntu-latest,
34+
os: [self-hosted, Linux, skylake-2x],
3535
}
3636
- { rust: nightly, target: x86_64-apple-darwin, os: macos-latest }
3737
- {
@@ -147,12 +147,12 @@ jobs:
147147
# ```
148148
# but no, instead we have to do whatever the hell this is
149149
matrix:
150-
os: [ubuntu-latest, macos-latest]
150+
os: [skylake-2x, macos-latest]
151151
sanitizer: [address, thread, memory, leak]
152152
target: [x86_64-unknown-linux-gnu] # x86_64-apple-darwin
153153
exclude:
154154
# Exclude ubuntu runs with darwin targets
155-
- { os: ubuntu-latest, target: x86_64-apple-darwin }
155+
- { os: skylake-2x, target: x86_64-apple-darwin }
156156
# Exclude macos runs with linux targets
157157
- { os: macos-latest, target: x86_64-unknown-linux-gnu }
158158
# Exclude darwin runs with memory sanitizers since

doc/self_hosted_ci_config.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# CI self-hosted runners
2+
3+
Steps on how to set-up and configure a Ubuntu 22.04 Linux self-hosted CI runner
4+
machine.
5+
6+
## Configuration
7+
8+
```bash
9+
sudo apt-get install libssl-dev zsh build-essential pkg-config git gcc clang libclang-dev
10+
sudo useradd github-runner -m -s /bin/zsh
11+
```
12+
13+
Add sudo capability for github-runner:
14+
15+
```bash
16+
sudo visudo
17+
# github-runner ALL=(ALL) NOPASSWD: ALL
18+
```
19+
20+
Login and install rust:
21+
22+
```bash
23+
sudo su github-runner
24+
cd $HOME
25+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
26+
```
27+
28+
Other than that, follow the steps listed under Settings -> Actions -> Runner -> Add runner:
29+
30+
```
31+
<< steps from Web-UI >>
32+
```
33+
34+
## Starting the runner
35+
36+
Finally, launch the runner:
37+
38+
```bash
39+
cd $HOME/actions-runner
40+
source $HOME/.cargo/env
41+
./run.sh
42+
```
43+
44+
## Starting the runner as systemd service
45+
46+
```bash
47+
cd $HOME/actions-runner
48+
sudo ./svc.sh install
49+
sudo ./svc.sh start
50+
```
51+
52+
Check the runner status with:
53+
54+
```bash
55+
sudo ./svc.sh status
56+
```
57+
58+
## Stopping the runner
59+
60+
```bash
61+
sudo ./svc.sh stop
62+
```
63+
64+
Uninstall the service with:
65+
66+
```bash
67+
sudo ./svc.sh uninstall
68+
```

0 commit comments

Comments
 (0)