Skip to content

ci: add extensible deploy workflow using GitHub Deployments#521

Open
garrappachc wants to merge 3 commits intomasterfrom
feat/github-deployments
Open

ci: add extensible deploy workflow using GitHub Deployments#521
garrappachc wants to merge 3 commits intomasterfrom
feat/github-deployments

Conversation

@garrappachc
Copy link
Member

@garrappachc garrappachc commented Mar 9, 2026

Summary

  • Adds .github/workflows/deploy.yml that deploys to tf2pickup.pl and tf2pickup.fr via SSH using docker compose
  • Auto-deploys when the build workflow completes successfully on a release tag (avoids the race condition of triggering on the GitHub release event)
  • Supports manual dispatch with optional tag and environment inputs
  • Uses GitHub Deployments API (via bobheadxi/deployments) to track deployment history per environment in the GitHub UI

Extensibility

Adding a new environment requires only:

  1. One JSON object added to the ENVIRONMENTS array in the setup job
  2. A new GitHub Environment created in repo settings with SSH_HOST, SSH_USER, SSH_PRIVATE_KEY secrets
  3. The server's docker-compose.yml using image: ghcr.io/tf2pickup-org/tf2pickup:${IMAGE_TAG:-stable}

🤖 Generated with Claude Code

@github-actions
Copy link
Contributor

github-actions bot commented Mar 9, 2026

Playwright test results

passed  196 passed
flaky  1 flaky

Details

stats  197 tests across 29 suites
duration  8 minutes, 43 seconds
commit  b68d986

Flaky tests

chromium › 20-game/02-free-players.spec.ts › free players when the game ends @6v6 @9v9

garrappachc and others added 3 commits March 20, 2026 23:35
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a top-level `permissions: {}` to restrict GITHUB_TOKEN to
read-only by default, satisfying the security scanner requirement.
The deploy job already has its own `permissions: deployments: write`
override for what it actually needs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ESLint flagged `!` assertions in `getMapWinner` and `pickServer` as
unnecessary since the type checker already knows the type.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@garrappachc garrappachc force-pushed the feat/github-deployments branch from 0cee3d3 to b68d986 Compare March 20, 2026 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant