From 54199153937f8dbf192248462f82cc69f7d5cd76 Mon Sep 17 00:00:00 2001 From: Moe Shehab <52987806+mhmdksh@users.noreply.github.com> Date: Mon, 12 Feb 2024 16:31:23 +0400 Subject: [PATCH] Update staging-pipeline.yml Revert Changes to CI --- .github/workflows/staging-pipeline.yml | 40 +++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/.github/workflows/staging-pipeline.yml b/.github/workflows/staging-pipeline.yml index b54885e26..fab074f89 100644 --- a/.github/workflows/staging-pipeline.yml +++ b/.github/workflows/staging-pipeline.yml @@ -7,6 +7,7 @@ on: pull_request: branches: - staging + jobs: test: runs-on: ubuntu-latest @@ -38,20 +39,56 @@ jobs: --health-retries 5 ports: - 5443:5432 + steps: - - uses: actions/checkout@v1 + - name: Checkout + uses: actions/checkout@v1 + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_S3_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_S3_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_S3_REGION }} + + - name: Download latest DB backup from S3 + run: | + FILENAME=$(aws s3 ls ${{ secrets.AWS_S3_BUCKET_PATH_STAGING }}/ | sort | tail -n 1 | awk '{print $4}') + aws s3 cp ${{ secrets.AWS_S3_BUCKET_PATH_STAGING }}/$FILENAME /tmp/db_backup.zip + + - name: Unzip DB backup + run: | + unzip /tmp/db_backup.zip -d /tmp + mv /tmp/backups/givethio-staging/*.sql /tmp/backups/givethio-staging/db_backup.sql + + - name: Wait for PostgreSQL to become ready + run: | + for i in {1..10} + do + pg_isready -h localhost -p 5443 -U postgres && echo Success && break + echo -n . + sleep 1 + done + + - name: Restore DB backup + run: PGPASSWORD=postgres psql -h localhost -p 5443 -U postgres -d givethio < /tmp/backups/givethio-staging/db_backup.sql + - name: Use Node.js uses: actions/setup-node@v1 with: node-version: 20.11.0 + - name: Install dependencies run: npm ci + - name: Run tslint run: npm run tslint + - name: Run build run: npm run build + - name: Run migrations run: npm run db:migrate:run:test + - name: Run tests run: npm run test env: @@ -65,6 +102,7 @@ jobs: CELO_ALFAJORES_SCAN_API_KEY: ${{ secrets.CELO_ALFAJORES_SCAN_API_KEY }} MORDOR_ETC_TESTNET: ${{ secrets.MORDOR_ETC_TESTNET }} ETC_NODE_HTTP_URL: ${{ secrets.ETC_NODE_HTTP_URL }} + DROP_DATABASE: ${{ secrets.DROP_DATABASE }} SOLANA_TEST_NODE_RPC_URL: ${{ secrets.SOLANA_TEST_NODE_RPC_URL }} SOLANA_DEVNET_NODE_RPC_URL: ${{ secrets.SOLANA_DEVNET_NODE_RPC_URL }} SOLANA_MAINNET_NODE_RPC_URL: ${{ secrets.SOLANA_MAINNET_NODE_RPC_URL }}