Skip to content

Workflow file for this run

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"