fix: HOTFIX stop thinking animation if cancelled mid stream #1717
Workflow file for this run
This file contains hidden or 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: CLI PR Checks | |
on: | |
pull_request: | |
branches: [main] | |
permissions: | |
contents: read | |
pull-requests: write | |
issues: write | |
jobs: | |
track-rerun: | |
runs-on: ubuntu-latest | |
if: github.run_attempt > 1 | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Track workflow rerun | |
uses: ./.github/actions/track-rerun | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v5 | |
- name: Setup Node.js | |
uses: actions/setup-node@v5 | |
with: | |
node-version: 20 | |
cache: "npm" | |
cache-dependency-path: extensions/cli/package-lock.json | |
- name: Setup packages | |
uses: ./.github/actions/setup-packages | |
- name: Setup core component | |
uses: ./.github/actions/setup-component | |
with: | |
component: core | |
include-root: true | |
- name: Build core | |
run: | | |
cd core | |
npm run build | |
- name: Install dependencies | |
run: | | |
cd extensions/cli | |
npm ci --include=optional | |
- name: Run linting | |
run: | | |
cd extensions/cli | |
npm run lint | |
test: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
node-version: [18, 20, 22, 24] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v5 | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v5 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Cache CLI node_modules | |
uses: actions/cache@v4 | |
with: | |
path: extensions/cli/node_modules | |
key: ${{ runner.os }}-node${{ matrix.node-version }}-cli-modules-${{ hashFiles('extensions/cli/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node${{ matrix.node-version }}-cli-modules- | |
- name: Setup packages | |
uses: ./.github/actions/setup-packages | |
- name: Setup core component | |
uses: ./.github/actions/setup-component | |
with: | |
component: core | |
include-root: true | |
- name: Build core | |
run: | | |
cd core | |
npm run build | |
- name: Install dependencies | |
run: | | |
cd extensions/cli | |
npm ci --include=optional | |
- name: Build | |
run: | | |
cd extensions/cli | |
npm run build | |
- name: Run smoke tests | |
run: | | |
cd extensions/cli | |
npm run test:smoke | |
- name: Run tests | |
run: | | |
cd extensions/cli | |
npm test | |
# e2e tests are failing on Windows specifically - likely due to stdout flush issues | |
- name: Run e2e tests | |
if: matrix.os != 'windows-latest' | |
run: | | |
cd extensions/cli | |
npm run test:e2e | |
# GitHub does not have a way of requiring that all checks pass (you must manually select each job) | |
# This action at least lets us manage the list of required tests via source control | |
# so that creators of new jobs can add them to this list | |
require-all-checks-to-pass-cli: | |
if: always() | |
runs-on: ubuntu-latest | |
needs: | |
- lint | |
- test | |
steps: | |
- name: Decide whether the needed jobs succeeded or failed | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} |