Skip to content

ci: use ubuntu-latest for openspiel base build (8-core-ubuntu runner unknown)#881

Merged
burtenshaw merged 2 commits into
mainfrom
fix/openspiel-runner
Jun 30, 2026
Merged

ci: use ubuntu-latest for openspiel base build (8-core-ubuntu runner unknown)#881
burtenshaw merged 2 commits into
mainfrom
fix/openspiel-runner

Conversation

@sergiopaniego

@sergiopaniego sergiopaniego commented Jun 29, 2026

Copy link
Copy Markdown
Member

Summary

The build-openspiel-base job in openspiel_base_build.yml requested runs-on: 8-core-ubuntu, a runner label that is not provisioned for this repo. Infra confirmed the runner is unknown, so the job sat in queued forever and never picked up a runner. This switches it to ubuntu-latest, the standard GitHub-hosted runner already used by the sibling build-base job.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation
  • New environment
  • Refactoring

Alignment Checklist

Before submitting, verify:

  • I have read .claude/docs/PRINCIPLES.md and this PR aligns with our principles
  • I have checked .claude/docs/INVARIANTS.md and no invariants are violated
  • I have run /pre-submit-pr (or bash .claude/hooks/lint.sh and tests) and addressed all issues

RFC Status

  • Not required (bug fix, docs, minor refactoring)
  • RFC exists: #___
  • RFC needed (will create before merge)

Test Plan

The workflow is workflow_dispatch only, so it does not run as a PR check. To verify without merging, dispatch it against this branch:

gh workflow run openspiel_base_build.yml --ref fix/openspiel-runner
gh run list --workflow=openspiel_base_build.yml --limit 3

The build-openspiel-base job should now pick up an ubuntu-latest runner (instead of hanging in queued) and complete the OpenSpiel base image build. Watch build time and memory while compiling OpenSpiel on the 4-core standard runner. If it runs out of resources, the follow-up is to request a valid larger/internal runner label from infra.

Claude Code Review

N/A


Note

Low Risk
CI-only workflow changes with no application runtime impact; OpenSpiel compile may be slower or OOM on standard runners.

Overview
Fixes build-openspiel-base in openspiel_base_build.yml so it can actually run: runs-on changes from the unprovisioned 8-core-ubuntu label to ubuntu-latest, matching build-base.

The OpenSpiel base Docker build now passes BASE_IMAGE pointing at the openenv-base:latest image just pushed in the first job, so Dockerfile.openspiel-base layers on the correct GHCR base instead of the local default.

Reviewed by Cursor Bugbot for commit 7a9bb94. Bugbot is set up for automated code reviews on this repo. Configure here.

@bot-ci-comment

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alignment Review Report

Two-tier review of the only change in this PR: switching the build-openspiel-base job runner from 8-core-ubuntu to ubuntu-latest in .github/workflows/openspiel_base_build.yml (1 file, +1/-1).

Automated Checks

  • Lint: PASS (N/A).claude/hooks/lint.sh only checks Python (src/, tests/, envs/); this PR changes no .py files, so the Python linters don't apply. (The hook also can't run in the review sandbox because uv isn't installed there, but CI runs it normally.)
  • Debug code: CLEAN.claude/hooks/check-debug.sh surfaced print/TODO matches, but all are in pre-existing, untouched files (src/openenv/core/containers/..., cli/commands/serve.py). This PR introduces none.

Open RFCs Context

In Review: 000-project-phases, 001-abstractions, 002-env-spec, 003-mcp-support, 005-agentic-harnesses. Draft: 010-echo-env-token-world-model. None of these (nor 004-rubrics) touch CI / runner configuration, so none are relevant to this change.

Tier 1: Fixes Required

None. The change is valid YAML, ubuntu-latest is a valid GitHub-hosted runner, and it matches the convention used by every other job in the repo. No 8-core-ubuntu references remain anywhere in the tree.

Tier 2: Alignment Discussion

Principle Conflicts

None identified. This is a CI-infrastructure change; it doesn't touch the Gymnasium API (reset/step/state), client–server separation, reward placement, agent isolation, or the Pydantic wire types.

RFC Conflicts

None identified.

Summary

  • 0 mechanical issues to fix
  • 0 alignment points for human review
  • 0 RFC conflicts

Consistency win: 8-core-ubuntu was the only non-standard runner label in the repo; after this PR all workflows use ubuntu-latest. Per the PR title that label appears unavailable, so the job likely couldn't start before — this restores it.

Minor (non-blocking) note: this job builds multi-arch images (linux/amd64,linux/arm64), and the arm64 leg runs under QEMU emulation, which is CPU-heavy — a standard runner will be slower than the 8-core one. Acceptable because (a) the sibling build-base job already uses ubuntu-latest with the same multi-arch build, and (b) it's a manual workflow_dispatch-only workflow, off the PR/merge critical path. Worth a glance at build duration after the next manual run.

Open in Web View Automation 

Sent by Cursor Automation: Untitled

# Job 2: Build OpenSpiel base image (depends on base)
build-openspiel-base:
runs-on: 8-core-ubuntu
runs-on: ubuntu-latest

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This now matches the sibling build-base job (line 19) and every other workflow in the repo — all use ubuntu-latest. 8-core-ubuntu was the only outlier, with no remaining references after this change. Looks correct.

Minor heads-up: this job builds linux/amd64,linux/arm64 (arm64 via QEMU emulation), which is CPU-intensive, so expect a slower build than on the 8-core runner. Fine for a manual workflow_dispatch job — just worth confirming the next run's duration stays well under the job time limit.

@burtenshaw burtenshaw merged commit bea1491 into main Jun 30, 2026
11 checks passed
@burtenshaw burtenshaw deleted the fix/openspiel-runner branch June 30, 2026 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants