From 196e2991532ed761564834bd3d3bab3d0aa1925e Mon Sep 17 00:00:00 2001 From: Tina-57blocks Date: Fri, 17 May 2024 13:58:47 +0800 Subject: [PATCH] add workflow --- .github/workflows/prod-test.yml | 77 +++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/workflows/prod-test.yml diff --git a/.github/workflows/prod-test.yml b/.github/workflows/prod-test.yml new file mode 100644 index 0000000..565075f --- /dev/null +++ b/.github/workflows/prod-test.yml @@ -0,0 +1,77 @@ +name: API Testing for Prod Endpoint + +on: + workflow_dispatch: + +jobs: + + Timestamp: + uses: storyprotocol/gha-workflows/.github/workflows/reusable-timestamp.yml@main + + test-and-publish: + needs: [ Timestamp ] + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install pnpm + run: npm install -g pnpm + + - name: Install Dependencies + run: pnpm install + + - name: Lint + run: pnpm eslint . + # Ensure you have a lint script in your package.json + + - name: Run Tests On Sepolia + continue-on-error: true + run: | + echo "Load environment variables" + rm .env && touch .env + echo API_BASE_URL=${{ secrets.API_BASE_URL_PROD }} > .env + echo API_KEY=${{ secrets.API_KEY_PROD }} >> .env + test_env=sepolia npx playwright test + + - name: Push Slack Notification + uses: slackapi/slack-github-action@v1.25.0 + with: + channel-id: ${{ secrets.SLACK_CHANNEL_ID_API_INTEGRATION_TESTS }} + payload: | + { + "text": "${{ github.repository }}: API Testing for Prod Endpoint have been completed. Check the results at github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}", + "blocks": [ + { "type": "divider" }, + { + "type": "image", + "title": { + "type": "plain_text", + "text": "Playwright Test Results" + }, + "image_url": "http://www.quickmeme.com/img/b9/b9848df257b95cd39585368475a4b4e4a3a8c774f7390226daecb79b912087ad.jpg", + "alt_text": "Playwright Test Results" + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text":"${{ github.repository }}: API Testing for Prod Endpoint have been completed. \nCheck the results at https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + } + } + ] + } + env: + SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} + + - name: Upload Test Results + uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + with: + name: sepolia-test-reports + path: | + ./playwright-report-sepolia/index.html