Merge pull request #50 from reedsy/fix-listeners #110
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: Test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
unit: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
browser: [ | |
mac-chrome-latest, | |
mac-firefox-latest, | |
mac-safari-latest, | |
windows-chrome-latest, | |
windows-firefox-latest, | |
windows-edge-latest, | |
ios-latest, | |
# android-latest, | |
] | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
with: | |
# Use PAT instead of default Github token, because the default | |
# token deliberately will not trigger another workflow run | |
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
registry-url: 'https://npm.pkg.github.com' | |
- name: Install | |
# Skip post-install to avoid malicious scripts stealing PAT | |
run: npm install --ignore-script | |
env: | |
# GITHUB_TOKEN can't access packages hosted in private repos, | |
# even within the same organisation | |
NODE_AUTH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
- name: Post-install | |
run: npm rebuild && npm run prepare --if-present | |
env: | |
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 1 | |
- name: Lint | |
run: npm run lint | |
- name: Test ${{ matrix.browser }} | |
run: npm run test:unit:ci | |
env: | |
BROWSER: ${{ matrix.browser }} | |
- name: Random test | |
run: npm run test:random | |
e2e: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
# Use PAT instead of default Github token, because the default | |
# token deliberately will not trigger another workflow run | |
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18.x' | |
registry-url: 'https://npm.pkg.github.com' | |
- name: Install | |
# Skip post-install to avoid malicious scripts stealing PAT | |
run: npm install --ignore-script | |
env: | |
# GITHUB_TOKEN can't access packages hosted in private repos, | |
# even within the same organisation | |
NODE_AUTH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
- name: Post-install | |
run: npm rebuild && npm run prepare --if-present | |
- name: Install Playwright Browsers | |
run: npx playwright install --with-deps | |
- name: Run Playwright tests | |
run: | | |
npm start & | |
sleep 120 | |
npx playwright test | |
tag: | |
needs: | |
- unit | |
- e2e | |
if: ${{ github.ref == 'refs/heads/main' }} | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
# Use PAT instead of default Github token, because the default | |
# token deliberately will not trigger another workflow run | |
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18.x' | |
registry-url: 'https://npm.pkg.github.com' | |
- name: Install | |
# Skip post-install to avoid malicious scripts stealing PAT | |
run: npm install --ignore-script | |
env: | |
# GITHUB_TOKEN can't access packages hosted in private repos, | |
# even within the same organisation | |
NODE_AUTH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
- name: Post-install | |
run: npm rebuild && npm run prepare --if-present | |
- name: Tag | |
run: ./tag.sh |