From a0c6b5a3b5afbd4cd66544fe88761281b32e2ab2 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Mon, 27 Jul 2026 13:04:43 -0500 Subject: [PATCH] fix: use runs-on: ubuntu-24.04 label so forgejo-runner derives correct ImageOS forgejo's act runner unconditionally overwrites the ImageOS env var based on the runs-on: platform label after job env is merged (run_context.go withGithubEnv), hardcoding ubuntu-latest to ImageOS=ubuntu20 regardless of the actual container image or any manual env override. Since ubuntu-20.04 has no stable OTP 29.0 builds, setup-beam failed even with an explicit ImageOS env var (silently clobbered). Using the ubuntu-24.04 runner label (already registered to the same node:24-bookworm image) makes the runner correctly derive ImageOS=ubuntu24, which has real stable OTP 29.0 builds. Switched version-type back to strict since we're now targeting a platform with the exact pinned versions. --- .forgejo/workflows/ci.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index f164956..b244a23 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -9,7 +9,7 @@ on: jobs: quality: name: Build and test - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 services: postgres: image: postgis/postgis:17-3.5 @@ -24,7 +24,6 @@ jobs: --health-retries 5 env: MIX_ENV: test - ImageOS: ubuntu24 PGHOST: postgres steps: @@ -40,7 +39,7 @@ jobs: - name: Set up Elixir uses: http://forgejo:3000/graham/setup-beam@v1 with: - version-type: loose + version-type: strict elixir-version: '1.20.2' otp-version: '29.0' @@ -82,10 +81,9 @@ jobs: dialyzer: name: Dialyzer - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 env: MIX_ENV: dev - ImageOS: ubuntu24 steps: - name: Configure git for submodules @@ -100,7 +98,7 @@ jobs: - name: Set up Elixir uses: http://forgejo:3000/graham/setup-beam@v1 with: - version-type: loose + version-type: strict elixir-version: '1.20.2' otp-version: '29.0' @@ -127,7 +125,7 @@ jobs: build-and-push: name: Build and Push Docker Image - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: [quality, dialyzer] if: github.event_name == 'push'