Shell Tests - Full Suite #54
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
# Copyright (c) Microsoft Corporation. | |
# Licensed under the MIT License. | |
name: Shell Tests - Full Suite | |
on: | |
#push: | |
# branches: ["main"] | |
schedule: | |
- cron: "0 0 * * *" #start of every day | |
permissions: | |
id-token: write | |
contents: read | |
env: | |
NODE_OPTIONS: --max_old_space_size=8192 | |
# DEBUG: pw:browser* # PlayWright debug messages | |
# ELECTRON_ENABLE_LOGGING: true # Electron debug messages | |
# DEBUG: typeagent:* # TypeAgent debug messages | |
# run only one of these at a time | |
concurrency: | |
group: ${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
build_ts: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["windows-latest"] | |
version: [20] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- if: runner.os == 'Linux' | |
run: | | |
sudo apt install libsecret-1-0 | |
- name: Setup Git LF | |
run: | | |
git config --global core.autocrlf false | |
- uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
filters: | | |
ts: | |
- "ts/**" | |
- ".github/workflows/build-ts.yml" | |
- uses: pnpm/action-setup@v4 | |
name: Install pnpm | |
with: | |
package_json_file: ts/package.json | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.version }} | |
cache: "pnpm" | |
cache-dependency-path: ts/pnpm-lock.yaml | |
- name: Install dependencies (pnpm) | |
working-directory: ts | |
run: | | |
pnpm install --frozen-lockfile --strict-peer-dependencies | |
- name: Install Playwright Browsers | |
run: pnpm exec playwright install --with-deps | |
working-directory: ts/packages/shell | |
- name: Build repo | |
working-directory: ts | |
run: | | |
npm run build | |
- name: Login to Azure | |
uses: azure/[email protected] | |
with: | |
client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_5B0D2D6BA40F4710B45721D2112356DD }} | |
tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_39BB903136F14B6EAD8F53A8AB78E3AA }} | |
subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_F36C1F2C4B2C49CA8DD5C52FAB98FA30 }} | |
- name: Get Keys | |
run: | | |
node tools/scripts/getKeys.mjs --vault build-pipeline-kv | |
working-directory: ts | |
- name: Test CLI - verify .env & endpoint connectivity | |
run: | | |
npm run start:dev 'prompt' 'why is the sky blue' | |
working-directory: ts/packages/cli | |
- name: Shell Tests (windows) | |
if: ${{ runner.os == 'windows' }} | |
timeout-minutes: 60 | |
run: | | |
npm run shell:test | |
rm ../../.env | |
working-directory: ts/packages/shell | |
continue-on-error: true | |
- name: Shell Tests (linux) | |
if: ${{ runner.os == 'Linux' }} | |
timeout-minutes: 60 | |
# https://github.com/microsoft/playwright/issues/34251 - sysctl command | |
run: | | |
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 | |
Xvfb :99 -screen 0 1600x1200x24 & export DISPLAY=:99 | |
npm run shell:test | |
rm ../../.env | |
working-directory: ts/packages/shell | |
continue-on-error: true | |
- uses: actions/upload-artifact@v4 | |
if: ${{ !cancelled() }} | |
with: | |
name: test-results | |
path: ts/packages/shell/test-results/ | |
overwrite: true | |
retention-days: 30 | |
- uses: actions/upload-artifact@v4 | |
if: ${{ !cancelled() }} | |
with: | |
name: playwright-report | |
path: ts/packages/shell/playwright-report/ | |
overwrite: true | |
retention-days: 30 |