feat: add GitHub Actions runner greffon#12
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 16677dd7ee
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - docker | ||
| environment: | ||
| DOCKER_HOST: tcp://docker:2375 | ||
| EPHEMERAL: "1" |
There was a problem hiding this comment.
Re-enable runner updates for the pinned image
With the runner image pinned to 2.333.1-ubuntu-noble, setting DISABLE_AUTO_UPDATE leaves deployed instances permanently on that runner binary unless every deployment is manually recreated after each upstream release. GitHub's self-hosted runner reference states that when updates are disabled, the runner must be updated within 30 days of a new release and GitHub Actions stops queueing jobs afterward. Existing catalog installs will therefore become unusable after the next runner release ages past that window; allow automatic updates or add an actual image refresh mechanism.
Useful? React with 👍 / 👎.
| RUNNER_WORKDIR: /runner/_work | ||
| RUNNER_SCOPE: repo | ||
| RUNNER_NAME_PREFIX: greffon-{{ instance_id }} | ||
| LABELS: greffon,self-hosted |
There was a problem hiding this comment.
Recreate storage between ephemeral runner jobs
When this runner completes a job, EPHEMERAL causes it to exit, but Compose restarts the same container and preserves this named work volume; the Docker sidecar and its docker-data volume are preserved as well. As a result, later jobs can observe files, credentials, containers, and images left by earlier jobs even though the runner is configured as ephemeral. The upstream image's ephemeral-runner guidance requires a fresh container and no persistent RUNNER_WORKDIR mount to provide isolation. Recreate the runner and its per-job storage after each job, or avoid advertising this deployment as ephemeral.
Useful? React with 👍 / 👎.
Summary
Depends on
Testing
python .github/scripts/validate_catalog.py --allplaywright test github-runner/1.0/smoke_test.spec.ts --workers=1(skipped without smoke env vars)app.greffon.local