SFR-2317: Enabling playwright tests on PR #379
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Playwright Tests for Digital Research Books | |
on: | |
pull_request: | |
jobs: | |
tests: | |
name: Run Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".nvmrc" | |
- name: Install Test Dependencies | |
run: npm i @cucumber/[email protected] @playwright/[email protected] | |
- name: Install Playwright | |
run: npx playwright install --with-deps | |
- name: Build app | |
run: NODE_ENV=test npm run build | |
- name: Start the app | |
run: NODE_ENV=test npm run dev & | |
shell: bash | |
- name: Wait for the app | |
run: | | |
RETRIES=6 | |
until curl --output /dev/null --silent --head --verbose --fail http://localhost:3000 || [ $((RETRIES--)) -eq 0 ]; do | |
echo "Waiting for http://localhost:3000" | |
sleep 5 | |
done | |
if [ $RETRIES -lt 0 ]; then | |
echo "Failed to connect to http://localhost:3000" | |
exit 1 | |
fi | |
shell: bash | |
- name: Run your tests | |
run: npm run playwright | |
- name: Set the world parameters as an env var | |
# WORLD_PARAMETERS set here will override anything set in cucumber.json | |
run: | | |
echo "WORLD_PARAMETERS={\"headless\": true}" >> $GITHUB_ENV | |
- name: Run Cucumber tests | |
run: npm run cucumber -- playwright/features --world-parameters '${{ env.WORLD_PARAMETERS }}' | |
env: | |
CATALOG_USERNAME: ${{ secrets.CATALOG_USERNAME }} | |
CATALOG_USER_PIN: ${{ secrets.CATALOG_USER_PIN }} | |
CUCUMBER_PUBLISH_TOKEN: ${{ secrets.CUCUMBER_PUBLISH_TOKEN }} | |
CUCUMBER_PUBLISH_ENABLED: true | |
- name: Slack Notification | |
if: ${{ always() }} | |
uses: rtCamp/action-slack-notify@v2 | |
env: | |
SLACK_CHANNEL: test_reports | |
SLACK_MESSAGE: https://reports.cucumber.io/report-collections/01dbd6e8-653b-4597-b901-6caf2e653b07 | |
SLACK_TITLE: DRB Cucumber/Playwright Test Results | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | |
SLACK_USERNAME: nyplorgBot |