[v8][browserstack-service]Add instrumentation for graceful kill builds #14777
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
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: Test | |
on: | |
push: | |
branches: | |
- main | |
- v7 | |
- v8 | |
- '!l10n_main' | |
pull_request: | |
branches-ignore: | |
- 'l10n_main' | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [16.x, 18.18.x, 20.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install Dependencies | |
run: npm ci | |
- name: Bootstrap Packages | |
run: npm run setup | |
env: | |
GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }} | |
- name: Dependency Check | |
run: npm run test:depcheck | |
- name: Lint / Typings / Unit / Smoke / Component Tests | |
run: npm run test | |
- name: Interop Tests | |
run: npm run test:e2e:cjs | |
- name: E2E Launch Tests | |
run: npm run test:e2e:webdriver | |
# - name: 🐛 Debug Build | |
# uses: stateful/vscode-server-action@v1 | |
# if: failure() | |
# with: | |
# timeout: '30000' | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: ubuntu-logs-${{ matrix.node-version }} | |
path: | | |
e2e/wdio/*.log | |
e2e/*.log | |
e2e/browser-runner/logs | |
e2e-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18.18.x | |
- name: Install Dependencies | |
run: npm ci | |
- name: Bootstrap Packages | |
run: npm run setup | |
env: | |
GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }} | |
- name: Lint / Typings / Unit / Smoke / Component Tests | |
run: npm run test | |
- name: E2E Protocol Tests | |
uses: nick-fields/retry@v3 | |
with: | |
timeout_minutes: 20 | |
max_attempts: 3 | |
command: npm run test:e2e | |
- name: E2E Launch Tests | |
run: | | |
npm run test:e2e:edge | |
npm run test:e2e:webdriver | |
- name: 🐛 Debug Build | |
uses: stateful/vscode-server-action@v1 | |
if: failure() | |
with: | |
timeout: '30000' | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: windows-logs | |
path: | | |
e2e/wdio/*.log | |
e2e/*.log | |
e2e/browser-runner/logs | |
e2e-mac: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18.18.x | |
- name: Install Dependencies | |
run: npm ci | |
- name: Bootstrap Packages | |
run: npm run setup | |
env: | |
GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }} | |
- name: E2E Protocol Tests | |
uses: nick-fields/retry@v3 | |
with: | |
timeout_minutes: 20 | |
max_attempts: 3 | |
command: npm run test:e2e | |
- name: Safari Component Tests | |
run: npm run test:component | |
- name: E2E Launch Tests | |
run: npm run test:e2e:webdriver | |
- name: E2E Connection Test | |
run: npm run test:e2e:cloud | |
if: github.ref == 'refs/heads/main' | |
env: | |
SAUCE_USERNAME: ${{secrets.SAUCE_USERNAME}} | |
SAUCE_ACCESS_KEY: ${{secrets.SAUCE_ACCESS_KEY}} | |
- name: E2E Connection Test w/ Params | |
run: npm run test:e2e:cloud -- --user $SAUCE_USERNAME_PARAM --key $SAUCE_ACCESS_KEY_PARAM | |
if: github.ref == 'refs/heads/main' | |
env: | |
SAUCE_USERNAME_PARAM: ${{secrets.SAUCE_USERNAME}} | |
SAUCE_ACCESS_KEY_PARAM: ${{secrets.SAUCE_ACCESS_KEY}} | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: macos-logs | |
path: | | |
e2e/wdio/*.log | |
e2e/*.log | |
e2e/browser-runner/logs | |
- name: 🐛 Debug Build | |
uses: stateful/vscode-server-action@v1 | |
if: failure() | |
with: | |
timeout: '30000' |