Update testcafe to 3.7.0 to fix chrome issue. #2725
Workflow file for this run
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: Alloy Dev | |
on: | |
pull_request: | |
workflow_dispatch: | |
env: | |
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | |
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | |
SAUCE_JOB: "Alloy Dev Workflow" | |
SAUCE_CAPABILITIES_OVERRIDES_PATH: "sauceLabsCapabilities.json" | |
EDGE_BASE_PATH: ee-pre-prd | |
ALLOY_ENV: int | |
SAUCE_TUNNEL_ID: github-action-tunnel | |
jobs: | |
linting: | |
name: "Linting files" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Node.js version | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
id: npm-cache | |
with: | |
path: "**/node_modules" | |
key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }}-${{ secrets.NPM_CACHE_VERSION }} # increment NPM_CACHE_VERSION secret to force cache reset | |
- name: Install dependencies | |
if: steps.npm-cache.outputs.cache-hit != 'true' | |
run: npm ci | |
- name: Linting | |
run: npm run lint | |
unit-test: | |
name: "Unit Test" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Node.js version | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
id: npm-cache | |
with: | |
path: "**/node_modules" | |
key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }}-${{ secrets.NPM_CACHE_VERSION }} # increment NPM_CACHE_VERSION secret to force cache reset | |
- name: Install dependencies | |
if: steps.npm-cache.outputs.cache-hit != 'true' | |
run: npm ci | |
- name: Build | |
run: npm run test:functional:build:int | |
- uses: saucelabs/sauce-connect-action@v2 | |
with: | |
username: ${{ secrets.SAUCE_USERNAME }} | |
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }} | |
- name: Run Unit Test | |
run: npx karma start karma.saucelabs.conf.cjs --single-run | |
env: | |
BUILD_NUMBER: $GITHUB_RUN_NUMBER | |
BUILD_ID: $GITHUB_RUN_ID | |
JOB_NUMBER: $GITHUB_JOB | |
alloy-int-e2e: | |
name: "Dev Functional Test - TestCafe" | |
runs-on: ubuntu-latest | |
needs: unit-test | |
timeout-minutes: 60 | |
steps: | |
- name: Set up Node.js version | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: actions/checkout@v4 | |
- name: Clear cache | |
uses: actions/cache@v4 | |
id: npm-cache | |
with: | |
path: "**/node_modules" | |
key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }}-${{ secrets.NPM_CACHE_VERSION }} | |
- name: Store Alloy version into env | |
uses: nyaa8/package-version@v1 | |
- name: Install dependencies | |
if: steps.npm-cache.outputs.cache-hit != 'true' | |
run: npm ci | |
- name: Build | |
run: npm run test:functional:build:int | |
env: | |
ALLOY_PROD_VERSION: ${{ env.PACKAGE_VERSION }} | |
- name: Start Sauce Connect Tunnel | |
uses: saucelabs/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
username: ${{ secrets.SAUCE_USERNAME }} | |
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }} | |
tunnelIdentifier: ${{ env.SAUCE_TUNNEL_ID }} | |
- name: Run TestCafe Tests | |
run: | | |
npx testcafe "saucelabs:Safari@latest:macOS 13,saucelabs:Firefox@latest:Windows 11,saucelabs:Chrome@latest:Windows 11" \ | |
test/functional/specs/**/*.js \ | |
--reporter spec,saucelabs \ | |
--skip-js-errors \ | |
--disable-page-caching \ | |
--page-load-timeout 5000 \ | |
--speed 1 \ | |
-e ALLOY_PROD_VERSION=${{ env.PACKAGE_VERSION }} \ | |
-e NPM_PACKAGE_VERSION=${{ env.PACKAGE_VERSION }} \ | |
-e ALLOY_ENV=int \ | |
-e EDGE_BASE_PATH=ee-pre-prd | |
env: | |
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | |
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | |
SAUCE_TUNNEL_ID: ${{ env.SAUCE_TUNNEL_ID }} | |
- name: Handle Test Failures | |
if: failure() | |
uses: actions/github-script@v7 | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
script: | | |
const handleTestFailures = require('./.github/scripts/handle-test-failures.js') | |
await handleTestFailures({ github, context }) |