name: Gitea Deploy to GCP on: workflow_dispatch: pull_request: branches: - deploy-prd - deploy-dev jobs: gcp-deploy: name: Deploy to GCP runs-on: gcloud-tf env: GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} GCP_SA_KEY: ${{ secrets.GCP_SA_KEY }} REPO_NAME: ${{ github.repository }} COMPONENT_NAME: ${{ vars.COMPONENT_NAME }} steps: - name: Checkout code uses: actions/checkout@v3 - name: Check Deploy Tools run: | ls -la echo "Checking gcloud and terraform versions..." gcloud --version terraform --version - name: Check Gcloud auth run: | echo "HOME: ${HOME}" printf '%s' "$GCP_SA_KEY" > $HOME/sa.json export GOOGLE_APPLICATION_CREDENTIALS="$HOME/sa.json" gcloud auth activate-service-account --key-file="$GOOGLE_APPLICATION_CREDENTIALS" gcloud config set project "$GCP_PROJECT_ID" echo "Check gcloud" gcloud config list gcloud --version - name: Exec Terraform init shell run: | export GOOGLE_APPLICATION_CREDENTIALS="$HOME/sa.json" ./scripts/deploy/init_terraform.sh - name: Exec Container Image Push to Artifact Registry run: | export GOOGLE_APPLICATION_CREDENTIALS="$HOME/sa.json" ./scripts/deploy/build_image_to_gar.sh - name: Exec Terraform plan shell run: | export GOOGLE_APPLICATION_CREDENTIALS="$HOME/sa.json" ./scripts/deploy/plan_terraform.sh - name: Exec Terraform apply shell run: | export GOOGLE_APPLICATION_CREDENTIALS="$HOME/sa.json" ./scripts/deploy/apply_terraform.sh - name: Clean up Gcloud auth file run: | rm -f $HOME/sa.json echo "Cleaned up Gcloud auth file."