ci: run enok in an ephemeral rust container, not on the kasse host
test / test (push) Failing after 1m3s
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:
2 files changed
+15
-30
No files matched your search
@@ -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" \
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user