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: types: [published] jobs: bygg: runs-on: ubuntu-latest container: image: docker.io/library/rust:1-bookworm steps: - name: Hent koden # v4 sin innebygde Go-checkout: ingen nedlasting, ingen Node i avbildet. uses: builtin:checkout - name: Bygg run: cargo build --release --locked - name: Kontroller run: cargo test --release --locked - name: Legg binærfilen ved utgivelsen env: TOKEN: ${{ github.token }} run: | # 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" \ "$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/releases/$REL_ID/assets?name=enok"