Skip to content

feat: add GitHub Actions runner greffon#12

Open
omarsy wants to merge 1 commit into
mainfrom
codex-github-runner-catalog-main
Open

feat: add GitHub Actions runner greffon#12
omarsy wants to merge 1 commit into
mainfrom
codex-github-runner-catalog-main

Conversation

@omarsy

@omarsy omarsy commented May 6, 2026

Copy link
Copy Markdown
Member

Summary

  • add a GitHub Actions Runner greffon with Docker-in-Docker support
  • use one grouped runner configuration form with dynamic auth and scope validation
  • add a headless smoke spec and runner-specific smoke testing notes

Depends on

Testing

  • python .github/scripts/validate_catalog.py --all
  • playwright test github-runner/1.0/smoke_test.spec.ts --workers=1 (skipped without smoke env vars)
  • local UI validation of dynamic required auth and scope fields on app.greffon.local

@omarsy omarsy marked this pull request as ready for review June 2, 2026 20:55

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 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"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge 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 👍 / 👎.

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.

1 participant