fix: use runs-on: ubuntu-24.04 label so forgejo-runner derives correct ImageOS
Some checks failed
Elixir CI / Dialyzer (push) Has been cancelled
Elixir CI / Build and test (push) Has been cancelled
Elixir CI / Build and Push Docker Image (push) Has been cancelled

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.
This commit is contained in:
Graham McIntire 2026-07-27 13:04:43 -05:00
parent f69fdcad48
commit a0c6b5a3b5
No known key found for this signature in database
GPG key ID: F4ABF488E6029E59

View file

@ -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'