Add start/stop workflows and move to environment-based config

- Add start.yml and stop.yml workflows for server lifecycle
- All workflows now use `type: environment` input for environment selection
- Secrets and variables moved from repo-level to environment-level
- Enables approval gates per environment (e.g., require approval for production)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-14 11:37:13 +10:00
parent 7076d28de0
commit b1261ad622
5 changed files with 184 additions and 52 deletions
+11 -6
View File
@@ -1,14 +1,18 @@
name: Check Deployed Version
on:
schedule:
- cron: '0 8 * * 1' # Weekly on Monday at 8 AM UTC
workflow_dispatch:
inputs:
environment:
description: 'Target environment'
type: environment
required: true
jobs:
check:
name: 'Check deployed version'
name: 'Check version (${{ inputs.environment }})'
runs-on: ubuntu-latest
environment: ${{ inputs.environment }}
steps:
- name: Check current deployed version
@@ -22,8 +26,9 @@ jobs:
BASE_DIR="${{ vars.BASE_DIR || './sfp-server' }}"
if [ -z "$SSH_HOST" ] || [ -z "$SSH_PRIVATE_KEY" ]; then
echo "SSH not configured, cannot check deployed version"
echo "SSH not configured for environment '${{ inputs.environment }}'"
echo "current_tag=unknown" >> $GITHUB_OUTPUT
echo "current_fqdn=unknown" >> $GITHUB_OUTPUT
exit 0
fi
@@ -51,7 +56,7 @@ jobs:
CONFIGURED_TAG="${{ vars.IMAGE_TAG || 'latest' }}"
CONFIGURED_FQDN="${{ vars.IMAGE_FQDN }}"
echo "## SFP Server Version Status" >> $GITHUB_STEP_SUMMARY
echo "## SFP Server Version Status (${{ inputs.environment }})" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| | Image | Tag |" >> $GITHUB_STEP_SUMMARY
echo "|---|-------|-----|" >> $GITHUB_STEP_SUMMARY
@@ -60,7 +65,7 @@ jobs:
if [ "$CURRENT_TAG" != "$CONFIGURED_TAG" ] && [ "$CURRENT_TAG" != "unknown" ]; then
echo "" >> $GITHUB_STEP_SUMMARY
echo "Deployed version differs from configured version. Run the **Update SFP Server** workflow to update." >> $GITHUB_STEP_SUMMARY
echo "Deployed version differs from configured. Run **Update SFP Server** to update." >> $GITHUB_STEP_SUMMARY
elif [ "$CURRENT_TAG" = "unknown" ]; then
echo "" >> $GITHUB_STEP_SUMMARY
echo "Could not determine currently deployed version." >> $GITHUB_STEP_SUMMARY