Skip to content

Commit 6a2256c

Browse files
committed
Use only self-hosted runners.
1 parent 48a0f8a commit 6a2256c

File tree

2 files changed

+87
-5
lines changed

2 files changed

+87
-5
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
name: Run checks and tests
6363
# We run only one of the matrix options on the toffee `hetzner-1` self-hosted GitHub runner.
6464
# Only in this configuration we enable tests with the code coverage data gathering.
65-
runs-on: ${{ matrix.rust_toolchain_version == '1.74' && 'hetzner-1' || 'ubuntu-latest' }}
65+
runs-on: [hetzner-proof-systems-runners-group-1]
6666
env:
6767
RUST_TOOLCHAIN_COVERAGE_VERSION: "1.74"
6868
strategy:
@@ -72,7 +72,6 @@ jobs:
7272
# It might be related to boxroot dependency, and we would need to bump
7373
# up the ocaml-rs dependency
7474
ocaml_version: ["4.14"]
75-
os: ["ubuntu-latest"]
7675
steps:
7776
- name: Checkout repository
7877
uses: actions/checkout@v4
@@ -150,19 +149,16 @@ jobs:
150149
make install-test-deps
151150
152151
- name: Doc tests
153-
if: ${{ matrix.rust_toolchain_version != env.RUST_TOOLCHAIN_COVERAGE_VERSION }}
154152
run: |
155153
eval $(opam env)
156154
make test-doc
157155
158156
- name: Run non-heavy tests without the code coverage
159-
if: ${{ matrix.rust_toolchain_version != env.RUST_TOOLCHAIN_COVERAGE_VERSION }}
160157
run: |
161158
eval $(opam env)
162159
make nextest
163160
164161
- name: Run heavy tests without the code coverage
165-
if: ${{ matrix.rust_toolchain_version == env.RUST_TOOLCHAIN_COVERAGE_VERSION }}
166162
run: |
167163
eval $(opam env)
168164
make nextest-heavy

docker-compose.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: proof-systems-github-runners
2+
3+
networks:
4+
proof-systems:
5+
driver: bridge
6+
7+
services:
8+
proof-systems-runner-1:
9+
image: ${GITHUB_RUNNER_DOCKER_IMAGE}
10+
environment:
11+
REPO_URL: ${GITHUB_RUNNERS_REPO_URL}
12+
RUNNER_NAME: ${GITHUB_RUNNER_NAME_PERFIX}-1
13+
RUNNER_TOKEN: ${GITHUB_RUNNER_1_TOKEN}
14+
RUNNER_WORKDIR: /tmp/${GITHUB_RUNNER_NAME_PERFIX}-1/work
15+
RUNNER_GROUP: ${GITHUB_RUNNERS_GROUP}
16+
RUNNER_SCOPE: "${GITHUB_RUNNER_SCOPE}"
17+
LABELS: linux,x64,${GITHUB_RUNNERS_GROUP},${GITHUB_RUNNER_NAME_PERFIX}-1
18+
security_opt:
19+
# needed on SELinux systems to allow docker container to manage other docker containers
20+
- label:disable
21+
volumes:
22+
- "/var/run/docker.sock:/var/run/docker.sock"
23+
- "/tmp/${GITHUB_RUNNER_NAME_PERFIX}-1:/tmp/${GITHUB_RUNNER_NAME_PERFIX}-1"
24+
# note: a quirk of docker-in-docker is that this path
25+
# needs to be the same path on host and inside the container,
26+
# docker mgmt cmds run outside of docker but expect the paths from within
27+
28+
proof-systems-runner-2:
29+
image: ${GITHUB_RUNNER_DOCKER_IMAGE}
30+
environment:
31+
REPO_URL: ${GITHUB_RUNNERS_REPO_URL}
32+
RUNNER_NAME: ${GITHUB_RUNNER_NAME_PERFIX}-2
33+
RUNNER_TOKEN: ${GITHUB_RUNNER_2_TOKEN}
34+
RUNNER_WORKDIR: /tmp/${GITHUB_RUNNER_NAME_PERFIX}-2/work
35+
RUNNER_GROUP: ${GITHUB_RUNNERS_GROUP}
36+
RUNNER_SCOPE: "${GITHUB_RUNNER_SCOPE}"
37+
LABELS: linux,x64,${GITHUB_RUNNERS_GROUP},${GITHUB_RUNNER_NAME_PERFIX}-2
38+
security_opt:
39+
# needed on SELinux systems to allow docker container to manage other docker containers
40+
- label:disable
41+
volumes:
42+
- "/var/run/docker.sock:/var/run/docker.sock"
43+
- "/tmp/${GITHUB_RUNNER_NAME_PERFIX}-2:/tmp/${GITHUB_RUNNER_NAME_PERFIX}-2"
44+
# note: a quirk of docker-in-docker is that this path
45+
# needs to be the same path on host and inside the container,
46+
# docker mgmt cmds run outside of docker but expect the paths from within
47+
48+
proof-systems-runner-3:
49+
image: ${GITHUB_RUNNER_DOCKER_IMAGE}
50+
environment:
51+
REPO_URL: ${GITHUB_RUNNERS_REPO_URL}
52+
RUNNER_NAME: ${GITHUB_RUNNER_NAME_PERFIX}-3
53+
RUNNER_TOKEN: ${GITHUB_RUNNER_3_TOKEN}
54+
RUNNER_WORKDIR: /tmp/${GITHUB_RUNNER_NAME_PERFIX}-3/work
55+
RUNNER_GROUP: ${GITHUB_RUNNERS_GROUP}
56+
RUNNER_SCOPE: "${GITHUB_RUNNER_SCOPE}"
57+
LABELS: linux,x64,${GITHUB_RUNNERS_GROUP},${GITHUB_RUNNER_NAME_PERFIX}-3
58+
security_opt:
59+
# needed on SELinux systems to allow docker container to manage other docker containers
60+
- label:disable
61+
volumes:
62+
- "/var/run/docker.sock:/var/run/docker.sock"
63+
- "/tmp/${GITHUB_RUNNER_NAME_PERFIX}-3:/tmp/${GITHUB_RUNNER_NAME_PERFIX}-3"
64+
# note: a quirk of docker-in-docker is that this path
65+
# needs to be the same path on host and inside the container,
66+
# docker mgmt cmds run outside of docker but expect the paths from within
67+
68+
proof-systems-runner-4:
69+
image: ${GITHUB_RUNNER_DOCKER_IMAGE}
70+
environment:
71+
REPO_URL: ${GITHUB_RUNNERS_REPO_URL}
72+
RUNNER_NAME: ${GITHUB_RUNNER_NAME_PERFIX}-4
73+
RUNNER_TOKEN: ${GITHUB_RUNNER_4_TOKEN}
74+
RUNNER_WORKDIR: /tmp/${GITHUB_RUNNER_NAME_PERFIX}-4/work
75+
RUNNER_GROUP: ${GITHUB_RUNNERS_GROUP}
76+
RUNNER_SCOPE: "${GITHUB_RUNNER_SCOPE}"
77+
LABELS: linux,x64,${GITHUB_RUNNERS_GROUP},${GITHUB_RUNNER_NAME_PERFIX}-4
78+
security_opt:
79+
# needed on SELinux systems to allow docker container to manage other docker containers
80+
- label:disable
81+
volumes:
82+
- "/var/run/docker.sock:/var/run/docker.sock"
83+
- "/tmp/${GITHUB_RUNNER_NAME_PERFIX}-4:/tmp/${GITHUB_RUNNER_NAME_PERFIX}-4"
84+
# note: a quirk of docker-in-docker is that this path
85+
# needs to be the same path on host and inside the container,
86+
# docker mgmt cmds run outside of docker but expect the paths from within

0 commit comments

Comments
 (0)