Skip to content

Bump staging and prod control-plane tags to latest-e431a13 (#91) #68

Bump staging and prod control-plane tags to latest-e431a13 (#91)

Bump staging and prod control-plane tags to latest-e431a13 (#91) #68

# ==============================================================================
# Staging Auto-Deployment Workflow
# ==============================================================================
# This workflow automatically deploys to the staging environment whenever
# changes are pushed to the main branch.
#
# Purpose:
# - Provide continuous deployment of main branch to staging
# - Enable rapid testing of merged changes before production
# - Maintain staging environment in sync with main branch
#
# Trigger:
# Automatically runs on every push to the 'main' branch
#
# Target:
# - Environment: staging
# - Cluster: Shared staging/test cluster
# - Namespace: theia-staging (configured via NAMESPACE environment variable)
#
# Protection:
# No approval required (set to auto-deploy for fast iteration)
# Configure approval gates in GitHub Environment settings if needed
#
# Note:
# This workflow shares the same Kubernetes cluster as test1 but uses
# a separate namespace for isolation. Production uses a different cluster.
# ==============================================================================
name: Deploy Staging
on:
push:
branches:
- main
workflow_dispatch:
inputs:
execution_mode:
description: 'Runner backend to use (self-hosted-buildkit or github-runners)'
required: false
default: 'self-hosted-buildkit'
type: choice
options:
- self-hosted-buildkit
- github-runners
clean_install:
description: 'Clean Install: If true, perform namespace-scoped cleanup before install (delete sessions/workspaces, appdefinitions, deployments, daemonsets, statefulsets, PVCs).'
required: false
default: false
type: boolean
jobs:
deploy:
name: Auto-deploy to Staging
# Environment variables NAMESPACE and HELM_VALUES_PATH are read from GitHub Environment settings.
# Shared gateway inputs are hardcoded for the shared staging/test cluster.
uses: ./.github/workflows/deploy-theia.yml
with:
environment: theia-staging
execution_mode: ${{ inputs.execution_mode || 'self-hosted-buildkit' }}
clean_install: ${{ github.event_name == 'workflow_dispatch' && (inputs.clean_install || false) }}
deploy_shared_gateway: true
shared_gateway_values_file: deployments/shared-gateway/values.yaml
shared_gateway_namespace: gateway-system
secrets: inherit