55 branches :
66 - main
77 - develop
8+ - feature/vapor-env-updates
89 workflow_dispatch :
910 inputs :
1011 environment :
@@ -60,11 +61,14 @@ jobs:
6061 if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
6162 echo "VAPOR_ENV=${{ github.event.inputs.environment }}" >> "$GITHUB_ENV"
6263 echo "TEST_MODE=${{ github.event.inputs.test_mode }}" >> "$GITHUB_ENV"
64+ elif [[ "${{ github.ref_name }}" == "main" ]]; then
65+ echo "VAPOR_ENV=production" >> "$GITHUB_ENV"
66+ echo "TEST_MODE=false" >> "$GITHUB_ENV"
6367 elif [[ "${{ github.ref_name }}" == "develop" ]]; then
6468 echo "VAPOR_ENV=staging" >> "$GITHUB_ENV"
6569 echo "TEST_MODE=false" >> "$GITHUB_ENV"
6670 else
67- echo "VAPOR_ENV=production " >> "$GITHUB_ENV"
71+ echo "VAPOR_ENV=staging " >> "$GITHUB_ENV"
6872 echo "TEST_MODE=false" >> "$GITHUB_ENV"
6973 fi
7074
7377 echo "🚀 Deploying to Vapor environment: ${{ env.VAPOR_ENV }}"
7478 echo "🧪 Test mode: ${{ env.TEST_MODE }}"
7579
80+ - name : Configure AWS Credentials
81+ if : env.TEST_MODE != 'true'
82+ uses : aws-actions/configure-aws-credentials@v4
83+ with :
84+ aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
85+ aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY_ID }}
86+ aws-region : eu-west-1
87+
88+ - name : Download Encrypted Environment File from S3
89+ if : env.TEST_MODE != 'true'
90+ working-directory : ./backend
91+ run : |
92+ aws s3 cp s3://hi.events-env-secrets/.env.${{ env.VAPOR_ENV }}.encrypted .env.${{ env.VAPOR_ENV }}.encrypted
93+ echo "✅ Downloaded .env.${{ env.VAPOR_ENV }}.encrypted from S3"
94+
7695 - name : Validate Deployment Configuration
7796 working-directory : ./backend
7897 run : |
83102 fi
84103
85104 - name : Deploy to Vapor
105+ if : env.TEST_MODE != 'true'
86106 working-directory : ./backend
87107 run : vapor deploy ${{ env.VAPOR_ENV }}
88108 env :
@@ -105,11 +125,14 @@ jobs:
105125 echo "DO_APP_ID=${{ secrets.DIGITALOCEAN_PRODUCTION_APP_ID }}" >> "$GITHUB_ENV"
106126 fi
107127 echo "TEST_MODE=${{ github.event.inputs.test_mode }}" >> "$GITHUB_ENV"
128+ elif [[ "${{ github.ref_name }}" == "main" ]]; then
129+ echo "DO_APP_ID=${{ secrets.DIGITALOCEAN_PRODUCTION_APP_ID }}" >> "$GITHUB_ENV"
130+ echo "TEST_MODE=false" >> "$GITHUB_ENV"
108131 elif [[ "${{ github.ref_name }}" == "develop" ]]; then
109132 echo "DO_APP_ID=${{ secrets.DIGITALOCEAN_STAGING_APP_ID }}" >> "$GITHUB_ENV"
110133 echo "TEST_MODE=false" >> "$GITHUB_ENV"
111134 else
112- echo "DO_APP_ID=${{ secrets.DIGITALOCEAN_PRODUCTION_APP_ID }}" >> "$GITHUB_ENV"
135+ echo "DO_APP_ID=${{ secrets.DIGITALOCEAN_STAGING_APP_ID }}" >> "$GITHUB_ENV"
113136 echo "TEST_MODE=false" >> "$GITHUB_ENV"
114137 fi
115138
0 commit comments