Fixed a regression that caused an Unknown
to appear in a type evalu…
#4870
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: 'Validation' | |
env: | |
NODE_VERSION: '16' # Shipped with VS Code. | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
typecheck: | |
if: github.repository == 'microsoft/pyright' | |
runs-on: ubuntu-latest | |
name: Typecheck | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Get npm cache directory | |
id: npm-cache | |
run: | | |
echo "::set-output name=dir::$(npm config get cache)" | |
- uses: actions/cache@v3 | |
with: | |
path: ${{ steps.npm-cache.outputs.dir }} | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- run: npm run install:all | |
- run: npx lerna exec --stream --no-bail -- tsc --noEmit | |
style: | |
if: github.repository == 'microsoft/pyright' | |
runs-on: ubuntu-latest | |
name: Style | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Get npm cache directory | |
id: npm-cache | |
run: | | |
echo "::set-output name=dir::$(npm config get cache)" | |
- uses: actions/cache@v3 | |
with: | |
path: ${{ steps.npm-cache.outputs.dir }} | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- run: npm run install:all | |
- name: Check diff after npm install | |
run: git diff --exit-code --name-only | |
- run: npm run check | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-latest, windows-latest, ubuntu-latest] | |
name: Test ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
needs: typecheck | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
# Don't cache on Windows; the cache ends up being very large and | |
# the Windows implementation of the cache task uses a much slower archiver. | |
- name: Get npm cache directory | |
if: runner.os != 'Windows' | |
id: npm-cache | |
run: | | |
echo "::set-output name=dir::$(npm config get cache)" | |
- uses: actions/cache@v3 | |
if: runner.os != 'Windows' | |
with: | |
path: ${{ steps.npm-cache.outputs.dir }} | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- run: npm run install:all | |
- name: npm test (pyright-internal) | |
run: npm test | |
working-directory: packages/pyright-internal | |
build: | |
runs-on: ubuntu-latest | |
name: Build | |
needs: typecheck | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Get npm cache directory | |
id: npm-cache | |
run: | | |
echo "::set-output name=dir::$(npm config get cache)" | |
- uses: actions/cache@v3 | |
with: | |
path: ${{ steps.npm-cache.outputs.dir }} | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- run: npm run install:all | |
- run: npm publish --dry-run | |
working-directory: packages/pyright | |
- run: npm run package | |
working-directory: packages/vscode-pyright | |
required: | |
runs-on: ubuntu-latest | |
name: Required | |
needs: | |
- typecheck | |
- style | |
- test | |
- build | |
steps: | |
- run: echo All required jobs succeeded. |