Skip to content

WIP Priority Resolution #2693

WIP Priority Resolution

WIP Priority Resolution #2693

Workflow file for this run

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 - Saucectl"
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 }} # increment NPM_CACHE_VERSION secret to force cache reset
- 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 }}
- uses: saucelabs/[email protected]
env:
GITHUB_TOKEN: ${{ github.token }}
with:
sauce-username: ${{ secrets.SAUCE_USERNAME }}
sauce-access-key: ${{ secrets.SAUCE_ACCESS_KEY }}
env: |
ALLOY_PROD_VERSION=${{ env.PACKAGE_VERSION }}
NPM_PACKAGE_VERSION=${{ env.PACKAGE_VERSION }}
ALLOY_ENV=int
config-file: ./.sauce/dev.yml