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.