diff --git a/.github/workflows/porter_app_staging_3155.yml b/.github/workflows/porter_app_staging_3155.yml index 08bd1b7d8..686c880b5 100644 --- a/.github/workflows/porter_app_staging_3155.yml +++ b/.github/workflows/porter_app_staging_3155.yml @@ -4,26 +4,61 @@ - staging name: Deploy to staging jobs: - porter-deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Set Github tag - id: vars - run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - name: Setup porter - uses: porter-dev/setup-porter@v0.1.0 - - name: Deploy stack - timeout-minutes: 30 - run: exec porter apply - env: - PORTER_APP_NAME: staging - PORTER_CLUSTER: "3155" - PORTER_DEPLOYMENT_TARGET_ID: 7f44813f-4b0c-4be7-add0-94ebb61256bf - PORTER_HOST: https://dashboard.porter.run - PORTER_PR_NUMBER: ${{ github.event.number }} - PORTER_PROJECT: "9309" - PORTER_REPO_NAME: ${{ github.event.repository.name }} - PORTER_TAG: ${{ steps.vars.outputs.sha_short }} - PORTER_TOKEN: ${{ secrets.PORTER_APP_9309_3155 }} + database-deploy: + runs-on: blacksmith-16vcpu-ubuntu-2204 + environment: staging + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + + - name: Install Diesel CLI + run: cargo install diesel_cli --no-default-features --features postgres + + - name: Run migrations + run: diesel migration run + env: + DATABASE_URL: ${{ secrets.DB_URL }} + + porter-deploy: + runs-on: ubuntu-latest + environment: staging + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + - name: Download SSL certificate from S3 + run: | + aws s3 cp ${{ secrets.CERT_S3_URL }} ./cert.pem + - name: Set Github tag + id: vars + run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + - name: Setup porter + uses: porter-dev/setup-porter@v0.1.0 + - name: Deploy stack + timeout-minutes: 30 + run: exec porter apply + env: + PORTER_APP_NAME: staging + PORTER_CLUSTER: "3155" + PORTER_DEPLOYMENT_TARGET_ID: 7f44813f-4b0c-4be7-add0-94ebb61256bf + PORTER_HOST: https://dashboard.porter.run + PORTER_PR_NUMBER: ${{ github.event.number }} + PORTER_PROJECT: "9309" + PORTER_REPO_NAME: ${{ github.event.repository.name }} + PORTER_TAG: ${{ steps.vars.outputs.sha_short }} + PORTER_TOKEN: ${{ secrets.PORTER_APP_9309_3155 }}