name: Run API tests description: Runs the WooCommerce Core API tests and generates Allure report. inputs: report-name: description: Name of Allure report to be generated. required: true tests: description: Specific tests to run, separated by single whitespace. See https://playwright.dev/docs/test-cli playwright-config: description: Playwright config file to be used default: playwright.config.js outputs: result: description: Whether the test passed or failed. value: ${{ steps.run-api-tests.conclusion }} runs: using: composite steps: - name: Download and install Chromium browser. working-directory: plugins/woocommerce shell: bash run: pnpm exec playwright install chromium - name: Run API tests. id: run-api-tests working-directory: plugins/woocommerce shell: bash run: | pnpm exec playwright test \ --config=tests/api-core-tests/${{ inputs.playwright-config }} \ ${{ inputs.tests }} - name: Generate Test report. if: success() || ( failure() && steps.run-api-tests.conclusion == 'failure' ) working-directory: plugins/woocommerce shell: bash run: pnpm exec allure generate --clean ${{ env.ALLURE_RESULTS_DIR }} --output ${{ env.ALLURE_REPORT_DIR }} - name: Archive test report if: success() || ( failure() && steps.run-api-tests.conclusion == 'failure' ) uses: actions/upload-artifact@v3 with: name: ${{ inputs.report-name }} path: | ${{ env.ALLURE_RESULTS_DIR }} ${{ env.ALLURE_REPORT_DIR }} retention-days: 20