build: use node 22 (#61) #212
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 | |
env: | |
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | |
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".nvmrc" | |
cache: "npm" | |
- name: Install Dependencies | |
run: npm ci | |
- name: Lint | |
run: npm run lint | |
build-windows-bundle: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".nvmrc" | |
cache: "npm" | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Google Cloud Login | |
uses: google-github-actions/auth@v2 | |
with: | |
credentials_json: '${{ secrets.GCS_RUNNER_SA_KEY }}' | |
- name: Install gcloud SDK | |
uses: google-github-actions/setup-gcloud@v2 | |
with: | |
project_id: ${{ secrets.GCS_RUNNER_PROJECT_ID }} | |
env: | |
CLOUDSDK_PYTHON: ${{env.pythonLocation}}\python.exe | |
- name: Update Release Version | |
run: npm version --no-git-tag-version 1.0.0 | |
- name: Install Dependencies | |
run: npm ci | |
- name: Bundle Directory | |
run: npm run bundle | |
- name: Archive Bundle | |
uses: azure/powershell@v2 | |
with: | |
inlineScript: | | |
Compress-Archive bundle/ puppeteer-replay-windows-amd64.zip | |
azPSVersion: '3.1.0' | |
- name: Upload to GCS | |
run: | | |
gsutil cp ./puppeteer-replay-windows-amd64.zip gs://${{ secrets.GCS_RUNNER_BUCKET }}/puppeteer-replay-windows-amd64-${{ github.run_id }}.zip | |
windows-bundle-test: | |
needs: [build-windows-bundle] | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".nvmrc" | |
cache: "npm" | |
- name: Setup saucectl | |
uses: saucelabs/saucectl-run-action@v4 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
skip-run: true | |
- name: Test | |
working-directory: ./tests | |
run: | | |
saucectl run --config .sauce/config-win.yml --runner-version "url: https://storage.googleapis.com/${{ secrets.GCS_RUNNER_BUCKET }}/puppeteer-replay-windows-amd64-${{ github.run_id }}.zip" | |
build-mac-bundle: | |
# macos-latest is arm only | |
runs-on: macos-13 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".nvmrc" | |
cache: "npm" | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Google Cloud Login | |
uses: google-github-actions/auth@v2 | |
with: | |
credentials_json: '${{ secrets.GCS_RUNNER_SA_KEY }}' | |
- name: Install gcloud SDK | |
uses: google-github-actions/setup-gcloud@v2 | |
with: | |
project_id: ${{ secrets.GCS_RUNNER_PROJECT_ID }} | |
env: | |
CLOUDSDK_PYTHON: ${{env.pythonLocation}}/python | |
- name: Update Release version | |
run: npm version --no-git-tag-version 1.0.0 | |
- name: Install Dependencies | |
run: npm ci | |
- name: Bundle Directory | |
run: npm run bundle | |
- name: Archive Bundle | |
run: zip --symlinks -r puppeteer-replay-macos-amd64.zip bundle/ | |
- name: Upload to GCS | |
run: | | |
gsutil cp ./puppeteer-replay-macos-amd64.zip gs://${{ secrets.GCS_RUNNER_BUCKET }}/puppeteer-replay-macos-amd64-${{ github.run_id }}.zip | |
mac-bundle-test: | |
needs: [build-mac-bundle] | |
# macos-latest is arm only | |
runs-on: macos-13 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".nvmrc" | |
cache: "npm" | |
- name: Setup saucectl | |
uses: saucelabs/saucectl-run-action@v4 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
skip-run: true | |
- name: Test | |
working-directory: ./tests | |
run: | | |
saucectl run --config .sauce/config-mac.yml --runner-version "url: https://storage.googleapis.com/${{ secrets.GCS_RUNNER_BUCKET }}/puppeteer-replay-macos-amd64-${{ github.run_id }}.zip" |