Skip to content

docs: runner deployment env, token persistence, and QA case accuracy#3866

Draft
cursor[bot] wants to merge 1 commit into
developfrom
cursor/technical-documentation-updates-3753
Draft

docs: runner deployment env, token persistence, and QA case accuracy#3866
cursor[bot] wants to merge 1 commit into
developfrom
cursor/technical-documentation-updates-3753

Conversation

@cursor
Copy link
Copy Markdown

@cursor cursor Bot commented May 18, 2026

Summary

Documentation-only updates aligned with recent runner/Docker behavior and developer onboarding.

Docs added/updated

  • deployment/compose/README.md — New Runner environment subsection: SEMAPHORE_WEB_ROOT vs unused SEMAPHORE_RUNNER_API_URL in the sample compose file, official image entrypoint (runner-wrapper), registration env vars (SEMAPHORE_RUNNER_REGISTRATION_TOKEN / _FILE), default SEMAPHORE_RUNNER_TOKEN_FILE under SEMAPHORE_DATA_PATH, persistence guidance, and mutual exclusion of SEMAPHORE_RUNNER_TOKEN vs SEMAPHORE_RUNNER_TOKEN_FILE.
  • deployment/docker/README.md — New Runner image section summarizing runner-wrapper and pointing to the compose README for persistence/token details.
  • test/test-cases/TC-027-runner-register.md — Expected results updated so token persistence matches real paths (config.json runner.token, token_file / env, or Docker --no-config default runner_token.txt).
  • CONTRIBUTING.md — Dredd local steps: fixed duplicate step numbering / fence indentation for starting the server.

Codepaths covered

  • deployment/docker/runner/runner-wrapper — defaults and registration branch.
  • util/config.goSEMAPHORE_WEB_ROOT, runner token / token file loading and panic when both token sources are set.
  • services/runners/job_pool.go — URL construction from WebHost, writing the issued token to token_file when configured.

Knowledge gaps addressed

  • Where the long-lived runner token is stored in Docker --no-config flows vs JSON config.
  • Why /var/lib/semaphore (or an explicit SEMAPHORE_RUNNER_TOKEN_FILE) must persist across restarts.
  • Clarification that SEMAPHORE_RUNNER_API_URL in the example compose stack is not consumed by the current runner binary.
Open in Web View Automation 

- Document runner-wrapper registration flow, SEMAPHORE_DATA_PATH default,
  token file mutual exclusion, and accurate SEMAPHORE_WEB_ROOT usage.
- Cross-link Docker runner README to compose runner notes.
- Align TC-027 expected results with token_file vs config.json persistence.
- Fix CONTRIBUTING Dredd numbered step formatting.

Co-authored-by: Denis Gukov <fiftin@outlook.com>
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