diff --git a/.github/workflows/test_common.yml b/.github/workflows/test_common.yml index 805320a5..fc5a36c2 100644 --- a/.github/workflows/test_common.yml +++ b/.github/workflows/test_common.yml @@ -39,77 +39,77 @@ jobs: timeout-minutes: 120 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Remove unwanted software - uses: ./.github/actions/prune-vm + - name: Remove unwanted software + uses: ./.github/actions/prune-vm - - uses: actions/setup-python@v4 - with: - python-version: '3.12' - cache: 'pip' + - uses: actions/setup-python@v4 + with: + python-version: '3.12' + cache: 'pip' + + - run: pip install -r requirements.txt - - run: pip install -r requirements.txt + - name: Run tests + run: | + pytest -n 4 --dist loadgroup --reruns 2 --alluredir=allure-results - - name: Run tests - run: | - pytest -n 4 --dist loadgroup --reruns 2 --alluredir=allure-results + - name: Get allure history + if: always() + uses: actions/checkout@v4 + with: + ref: gh-pages + path: gh-pages - - name: Get allure history - if: always() - uses: actions/checkout@v4 - with: - ref: gh-pages - path: gh-pages + - name: Setup allure report + uses: simple-elf/allure-report-action@master + if: always() + id: allure-report + with: + allure_results: allure-results + gh_pages: gh-pages/${{ env.CALLER }} + allure_history: allure-history + keep_reports: 30 + report_url: https://waku-org.github.io/waku-interop-tests/${{ env.CALLER }} - - name: Setup allure report - uses: simple-elf/allure-report-action@master - if: always() - id: allure-report - with: - allure_results: allure-results - gh_pages: gh-pages/${{ env.CALLER }} - allure_history: allure-history - keep_reports: 30 - report_url: https://waku-org.github.io/waku-interop-tests/${{ env.CALLER }} + - name: Deploy report to Github Pages + uses: peaceiris/actions-gh-pages@v3 + if: always() + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_branch: gh-pages + publish_dir: allure-history + destination_dir: ${{ env.CALLER }} - - name: Deploy report to Github Pages - uses: peaceiris/actions-gh-pages@v3 - if: always() - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_branch: gh-pages - publish_dir: allure-history - destination_dir: ${{ env.CALLER }} + - name: Create job summary + if: always() + env: + JOB_STATUS: ${{ job.status }} + run: | + echo "## Run Information" >> $GITHUB_STEP_SUMMARY + echo "- **Event**: ${{ github.event_name }}" >> $GITHUB_STEP_SUMMARY + echo "- **Actor**: ${{ github.actor }}" >> $GITHUB_STEP_SUMMARY + echo "- **Node1**: ${{ env.NODE_1 }}" >> $GITHUB_STEP_SUMMARY + echo "- **Node2**: ${{ env.NODE_2 }}" >> $GITHUB_STEP_SUMMARY + echo "- **Additonal Nodes**: ${{ env.ADDITIONAL_NODES }}" >> $GITHUB_STEP_SUMMARY + echo "## Test Results" >> $GITHUB_STEP_SUMMARY + echo "Allure report will be available at: https://waku-org.github.io/waku-interop-tests/${{ env.CALLER }}/${{ github.run_number }}" >> $GITHUB_STEP_SUMMARY + if [ "$JOB_STATUS" != "success" ]; then + echo "There are failures with nwaku node. cc <@&1111608257824440330>" >> $GITHUB_STEP_SUMMARY + fi + { + echo 'JOB_SUMMARY<> $GITHUB_ENV - - name: Create job summary - if: always() - env: - JOB_STATUS: ${{ job.status }} - run: | - echo "## Run Information" >> $GITHUB_STEP_SUMMARY - echo "- **Event**: ${{ github.event_name }}" >> $GITHUB_STEP_SUMMARY - echo "- **Actor**: ${{ github.actor }}" >> $GITHUB_STEP_SUMMARY - echo "- **Node1**: ${{ env.NODE_1 }}" >> $GITHUB_STEP_SUMMARY - echo "- **Node2**: ${{ env.NODE_2 }}" >> $GITHUB_STEP_SUMMARY - echo "- **Additonal Nodes**: ${{ env.ADDITIONAL_NODES }}" >> $GITHUB_STEP_SUMMARY - echo "## Test Results" >> $GITHUB_STEP_SUMMARY - echo "Allure report will be available at: https://waku-org.github.io/waku-interop-tests/${{ env.CALLER }}/${{ github.run_number }}" >> $GITHUB_STEP_SUMMARY - if [ "$JOB_STATUS" != "success" ]; then - echo "There are failures with nwaku node. cc <@&1111608257824440330>" >> $GITHUB_STEP_SUMMARY - fi - { - echo 'JOB_SUMMARY<> $GITHUB_ENV - - - name: Send report to Discord - uses: rjstone/discord-webhook-notify@v1 - if: always() && env.CALLER != 'manual' - with: - severity: ${{ job.status == 'success' && 'info' || 'error' }} - username: ${{ github.workflow }} - description: "## Job Result: ${{ job.status }}" - details: ${{ env.JOB_SUMMARY }} - webhookUrl: ${{ secrets.DISCORD_TEST_REPORTS_WH }} \ No newline at end of file + - name: Send report to Discord + uses: rjstone/discord-webhook-notify@v1 + if: always() && env.CALLER != 'manual' + with: + severity: ${{ job.status == 'success' && 'info' || 'error' }} + username: ${{ github.workflow }} + description: "## Job Result: ${{ job.status }}" + details: ${{ env.JOB_SUMMARY }} + webhookUrl: ${{ secrets.DISCORD_TEST_REPORTS_WH }}