ci: run enok in an ephemeral rust container, not on the kasse host
test / test (push) Failing after 1m3s

Moves test.yml and release.yml off `runs-on: fish` (host) to an ephemeral
rust:1-bookworm container on the podman runner: v4 built-in checkout (no
Node), no host rustup, curl/jq installed in-container for the release
upload. Keeps the bare host free of toolchain installs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
blandClaude Opus 4.8 committed 2026-09-28 11:12:42 +02:00
1 parent 95ba6c42b2
commit 886b1d00d2
2 files changed
+15 -30

No files matched your search

+9 -15
View File
@@ -2,6 +2,8 @@ name: Release enok
# Bygger enok og legger binærfilen ved utgivelsen, slik at byggeprosjektene kan hente den
# og lage energirapporter uten å ha Rust installert.
#
# Kjører i en efemer rust-container på podman-runneren (kasse), ikke på verten.
on:
release:
@@ -9,22 +11,12 @@ on:
jobs:
bygg:
runs-on: fish
defaults:
run:
shell: fish {0}
runs-on: ubuntu-latest
container:
image: docker.io/library/rust:1-bookworm
steps:
- name: Hent koden
uses: https://gitea.com/actions/checkout@v6
- name: Sørg for en Rust-verktøykjede
run: |
# Kjørebrukeren har rustup, men ingen standardkjede er satt. Uten dette svarer
# cargo med at den ikke vet hvilken versjon den skal bruke.
if not cargo --version >/dev/null 2>&1
rustup default stable
end
cargo --version
uses: actions/checkout@v4
- name: Bygg
run: cargo build --release --locked
@@ -36,7 +28,9 @@ jobs:
env:
TOKEN: ${{ github.token }}
run: |
set REL_ID (curl --silent --fail --header "Authorization: token $TOKEN" \
# curl/jq finnes ikke i rust-avbildet; installeres i den efemere containeren.
apt-get update && apt-get install -y --no-install-recommends curl jq ca-certificates
REL_ID=$(curl --silent --fail --header "Authorization: token $TOKEN" \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/releases/tags/$GITHUB_REF_NAME" | jq -r '.id')
curl --silent --show-error --fail --header "Authorization: token $TOKEN" \
--form "attachment=@target/release/enok" \
+6 -15
View File
@@ -7,23 +7,14 @@ on:
jobs:
test:
# Vertskjører på kasse, samme oppsett som de andre prosjektene.
runs-on: fish
defaults:
run:
shell: fish {0}
# Kjører i en efemer rust-container på podman-runneren (kasse) — ikke på verten.
# Ingen rustup/verktøykjede installeres på verten lenger; container-avbildet har alt.
runs-on: ubuntu-latest
container:
image: docker.io/library/rust:1-bookworm
steps:
- name: Hent koden
uses: https://gitea.com/actions/checkout@v6
- name: Sørg for en Rust-verktøykjede
run: |
# Kjørebrukeren har rustup, men ingen standardkjede er satt. Uten dette svarer
# cargo med at den ikke vet hvilken versjon den skal bruke.
if not cargo --version >/dev/null 2>&1
rustup default stable
end
cargo --version
uses: actions/checkout@v4
- name: Formatering
run: cargo fmt --check