name: 'Build' env: NODE_VERSION: '22.x' # Shipped with VS Code. ARTIFACT_NAME_VSIX: vsix VSIX_NAME: vscode-pyright.vsix on: push: tags: - '1.1.[0-9][0-9][0-9]' jobs: build: if: github.repository == 'microsoft/pyright' runs-on: ubuntu-latest name: Build steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-node@v6 with: node-version: ${{ env.NODE_VERSION }} cache: 'npm' cache-dependency-path: '**/package-lock.json' - uses: ./.github/actions/npm-cache-dir - run: npm run install:all - name: Build VSIX working-directory: packages/vscode-pyright run: | npm run package mv pyright-*.vsix ${{ env.VSIX_NAME }} - uses: actions/upload-artifact@v4 with: name: ${{ env.ARTIFACT_NAME_VSIX }} path: packages/vscode-pyright/${{ env.VSIX_NAME }} create_release: if: github.repository == 'microsoft/pyright' runs-on: ubuntu-latest name: Create release needs: [build] permissions: contents: write steps: - name: Download artifacts uses: actions/download-artifact@v4 with: path: artifacts # TODO: If the release already exists (tag created via the GUI), reuse it. - name: Create release id: create_release uses: ncipollo/release-action@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: name: Published ${{ github.ref_name }} draft: true artifacts: ./artifacts/${{ env.ARTIFACT_NAME_VSIX }}/${{ env.VSIX_NAME }} artifactContentType: application/zip