diff --git a/.github/workflows/build-staging-and-deploy-aws.yml b/.github/workflows/deployment-pipeline.yml similarity index 74% rename from .github/workflows/build-staging-and-deploy-aws.yml rename to .github/workflows/deployment-pipeline.yml index 447145006..06eeb5d04 100644 --- a/.github/workflows/build-staging-and-deploy-aws.yml +++ b/.github/workflows/deployment-pipeline.yml @@ -104,8 +104,8 @@ jobs: cluster: infisical-gamma-stage wait-for-service-stability: false - production-postgres-deployment: - name: Deploy to production + production-us: + name: US production deploy runs-on: ubuntu-latest needs: [gamma-deployment] environment: @@ -159,3 +159,54 @@ jobs: service: infisical-core-platform cluster: infisical-core-platform wait-for-service-stability: true + + production-eu: + name: Europe production deploy + runs-on: ubuntu-latest + needs: [production-eu] + environment: + name: Production + steps: + - uses: twingate/github-action@v1 + with: + service-key: ${{ secrets.TWINGATE_SERVICE_KEY }} + - name: Checkout code + uses: actions/checkout@v2 + - name: Setup Node.js environment + uses: actions/setup-node@v2 + with: + node-version: "20" + - name: Change directory to backend and install dependencies + env: + DB_CONNECTION_URI: ${{ secrets.DB_CONNECTION_URI }} + run: | + cd backend + npm install + npm run migration:latest + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + audience: sts.amazonaws.com + aws-region: us-east-1 + role-to-assume: arn:aws:iam::345594589636:role/gha-make-prod-deployment + - name: Save commit hashes for tag + id: commit + uses: pr-mpt/actions-commit-hash@v2 + - name: Download task definition + run: | + aws ecs describe-task-definition --task-definition infisical-core-platform --query taskDefinition > task-definition.json + - name: Render Amazon ECS task definition + id: render-web-container + uses: aws-actions/amazon-ecs-render-task-definition@v1 + with: + task-definition: task-definition.json + container-name: infisical-core-platform + image: infisical/staging_infisical:${{ steps.commit.outputs.short }} + environment-variables: "LOG_LEVEL=info" + - name: Deploy to Amazon ECS service + uses: aws-actions/amazon-ecs-deploy-task-definition@v1 + with: + task-definition: ${{ steps.render-web-container.outputs.task-definition }} + service: infisical-core-platform + cluster: infisical-core-platform + wait-for-service-stability: true