Skip to content

Shell Tests - Full Suite #54

Shell Tests - Full Suite

Shell Tests - Full Suite #54

Workflow file for this run

# 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