Skip to content

Improved validation of NamedTuple and namedtuple factory calls. T… #4694

Improved validation of NamedTuple and namedtuple factory calls. T…

Improved validation of NamedTuple and namedtuple factory calls. T… #4694

Workflow file for this run

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.