Merge pull request #558 from NYPL/development #387
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 | |
# TODO: Remove https://drb-api-qa.nypl.org from behind the VPC | |
# 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: npm run dev & | |
shell: bash | |
- name: Wait for the app | |
run: | | |
RETRIES=6 | |
until curl --output /dev/null --silent --head --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 |