Deploy infra version 0.10.10 to production #111
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy infra | |
run-name: >- | |
${{ | |
format('Deploy infra version {0} to {1}', | |
inputs.version, | |
inputs.environment | |
) | |
}} | |
env: | |
PROJECT: acs-team-automation | |
on: | |
workflow_dispatch: | |
inputs: | |
environment: | |
description: Dev or Prod? | |
required: true | |
default: development | |
type: choice | |
options: | |
- development | |
- production | |
version: | |
description: Version, expanded to Github + Docker image tag | |
required: true | |
jobs: | |
wait-for-images: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
image: [infra-server, infra-certifier] | |
steps: | |
- name: Wait for image | |
uses: stackrox/actions/release/wait-for-image@v1 | |
with: | |
token: ${{ secrets.QUAY_RHACS_ENG_BEARER_TOKEN }} | |
image: rhacs-eng/${{ matrix.image }}:${{ inputs.version }} | |
limit: 1800 | |
deploy: | |
runs-on: ubuntu-latest | |
needs: [wait-for-images] | |
steps: | |
- name: Show inputs | |
run: | | |
echo "Environment: ${{ inputs.environment }}" | |
echo "Version: ${{ inputs.version }}" | |
- name: Check out code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
ref: ${{ inputs.version }} | |
- name: Authenticate to GCloud | |
uses: google-github-actions/auth@v2 | |
with: | |
credentials_json: ${{ secrets.INFRA_DEPLOY_AUTOMATION_GCP_SA }} | |
- name: 'Set up Cloud SDK' | |
uses: 'google-github-actions/setup-gcloud@v2' | |
with: | |
install_components: "gke-gcloud-auth-plugin" | |
- name: Deploy to ${{ inputs.environment }} | |
env: | |
USE_GKE_GCLOUD_AUTH_PLUGIN: "True" | |
run: | | |
gcloud container clusters get-credentials infra-${{ inputs.environment }} \ | |
--project "${PROJECT}" \ | |
--region us-west2 | |
ENVIRONMENT=${{ inputs.environment }} make install-argo clean-argo-config install-monitoring helm-deploy | |
- name: Notify infra channel about new version | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
uses: slackapi/[email protected] | |
with: | |
channel-id: CVANK5K5W #acs-infra | |
payload: >- | |
{ | |
"blocks": [ | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": ":ship::tada:*Infra (${{ inputs.environment }}) was updated to ${{ inputs.version }}.*\nTo see the latest changes, click <${{ github.server_url }}/${{ github.repository }}/blob/${{ inputs.version }}/CHANGELOG.md|here>." | |
} | |
} | |
] | |
} |