Skip to content

Commit 8bdb91a

Browse files
committed
ci: simplify by running Linux jobs out of containers
Maybe this is the final Blacksmith build fix, for real?
1 parent 1eea2fc commit 8bdb91a

2 files changed

Lines changed: 5 additions & 50 deletions

File tree

.github/renovate.json

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,6 @@
1313
"minimumReleaseAge": "2 days",
1414
"schedule": ["* 0-3 1 * *"],
1515
"ignoreDeps": ["criterion"],
16-
"customManagers": [
17-
{
18-
"customType": "regex",
19-
"fileMatch": ["^\\.github/workflows/[^/]+\\.ya?ml$"],
20-
"matchStrings": [
21-
"# renovate: datasource=docker\\s+container: (?<depName>[^:\\s]+):(?<currentValue>[^\\s@]+)@(?<currentDigest>sha256:[a-f0-9]+)"
22-
],
23-
"datasourceTemplate": "docker"
24-
}
25-
],
2616
"packageRules": [
2717
{
2818
"matchUpdateTypes": ["major"],

.github/workflows/ci.yml

Lines changed: 5 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -101,26 +101,18 @@ jobs:
101101
- target: x86_64-unknown-linux-gnu
102102
host-target: x86_64-unknown-linux-gnu
103103
runner: blacksmith-4vcpu-ubuntu-2404
104-
# renovate: datasource=docker
105-
container: debian:bookworm-slim@sha256:e899040a73d36e2b36fa33216943539d9957cba8172b858097c2cabcdb20a3e2
106104

107105
- target: x86_64-unknown-linux-musl
108106
host-target: x86_64-unknown-linux-gnu
109107
runner: blacksmith-4vcpu-ubuntu-2404
110-
# renovate: datasource=docker
111-
container: alpine:3.23@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659
112108

113109
- target: aarch64-unknown-linux-gnu
114110
host-target: aarch64-unknown-linux-gnu
115111
runner: blacksmith-4vcpu-ubuntu-2404-arm
116-
# renovate: datasource=docker
117-
container: debian:bookworm-slim@sha256:e899040a73d36e2b36fa33216943539d9957cba8172b858097c2cabcdb20a3e2
118112

119113
- target: aarch64-unknown-linux-musl
120114
host-target: aarch64-unknown-linux-gnu
121115
runner: blacksmith-4vcpu-ubuntu-2404-arm
122-
# renovate: datasource=docker
123-
container: alpine:3.23@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659
124116

125117
- target: x86_64-pc-windows-gnu
126118
host-target: x86_64-pc-windows-gnu
@@ -133,8 +125,6 @@ jobs:
133125
runs-on: ${{ matrix.runner }}
134126
timeout-minutes: 60
135127

136-
container: ${{ matrix.container }}
137-
138128
permissions:
139129
id-token: write
140130
attestations: write
@@ -155,23 +145,12 @@ jobs:
155145
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork
156146

157147
steps:
158-
- name: 🧰 Install glibc Linux toolchain packages
159-
if: endsWith(matrix.target, '-linux-gnu')
148+
- name: 🧰 Install Linux toolchain packages
160149
run: |
161-
apt-get update
162-
# curl is required by rustup.
163-
# musl-tools is required to build musl binaries for the native architecture
150+
sudo apt-get update
151+
# musl-dev is required to build musl binaries for the native architecture.
164152
# python3-markdown-it is required to generate the Debian package only
165-
apt-get install -yq build-essential cmake git curl \
166-
musl-tools \
167-
python3-markdown-it
168-
169-
- name: 🧰 Install musl Linux toolchain packages
170-
if: endsWith(matrix.target, '-linux-musl')
171-
run: |
172-
apk update
173-
# curl is required by rustup
174-
apk add --no-cache build-base cmake git curl
153+
sudo apt-get install -yq build-essential cmake musl-dev python3-markdown-it
175154
176155
# This must go after the previous step so that a Git repository is checked out
177156
- name: 📥 Checkout source
@@ -198,18 +177,6 @@ jobs:
198177
with:
199178
tool: cargo-deb
200179

201-
# Our build container is minimal, and it doesn't contain any systemd package.
202-
# systemd is responsible for setting up the machine ID files we use for
203-
# testing the system ID retrieval code, so copy a dummy one
204-
- name: 📏 Set up a dummy D-Bus machine ID for tests
205-
if: contains(matrix.runner, 'ubuntu')
206-
run: cat /proc/sys/kernel/random/uuid | tr -d '-' > /run/machine-id
207-
208-
# Required for the build script to be able to gather version information from Git
209-
- name: 📏 Allow Git commands to run in the container directory
210-
shell: bash
211-
run: git config --global --add safe.directory "$PWD"
212-
213180
- name: ✔️ Run tests
214181
env:
215182
CARGO_BUILD_TARGET: ${{ matrix.target == 'universal2-apple-darwin' && 'aarch64-apple-darwin' || matrix.target }}
@@ -493,9 +460,7 @@ jobs:
493460
benchmark:
494461
name: Run and upload benchmarks
495462

496-
runs-on: ubuntu-latest
497-
498-
container: debian:bookworm-slim@sha256:e899040a73d36e2b36fa33216943539d9957cba8172b858097c2cabcdb20a3e2
463+
runs-on: ubuntu-24.04
499464

500465
# Benchmark failure is not critical enough to fail the whole workflow.
501466
# We will keep an eye on them anyway, though

0 commit comments

Comments
 (0)