build: update to node 22 (#493) #325
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: release-please | |
| on: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| inputs: | |
| force-release-theme: | |
| description: "Force a release of catppuccin-vsc" | |
| default: false | |
| type: boolean | |
| rev: | |
| description: "The revision to clone for the release" | |
| default: "" | |
| type: string | |
| force-release-theme-tag: | |
| description: "The version to release catppuccin-vsc as" | |
| default: "" | |
| type: string | |
| force-release-pack: | |
| description: "Force a release of catppuccin-vsc-pack" | |
| default: false | |
| type: boolean | |
| force-release-npm: | |
| description: "Force a release of @catppuccin/vscode" | |
| default: false | |
| type: boolean | |
| jobs: | |
| release-please: | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: google-github-actions/release-please-action@e4dc86ba9405554aeba3c6bb2d169500e7d3b4ee # v4 | |
| with: | |
| config-file: .github/release-please-config.json | |
| manifest-file: .github/release-please-manifest.json | |
| id: release | |
| outputs: | |
| theme_release: ${{ github.event.inputs.force-release-theme == 'true' || steps.release.outputs['packages/catppuccin-vsc--release_created'] == 'true' }} | |
| theme_tag: ${{ github.event.inputs.force-release-theme-tag || steps.release.outputs['packages/catppuccin-vsc--tag_name'] }} | |
| pack_release: ${{ github.event.inputs.force-release-pack == 'true' || steps.release.outputs['packages/catppuccin-vsc-pack--release_created'] == 'true' }} | |
| npm_release: ${{ github.event.inputs.force-release-npm == 'true' || steps.release.outputs['packages/catppuccin-vscode--release_created'] == 'true' }} | |
| release-vscode: | |
| permissions: | |
| contents: write | |
| runs-on: ubuntu-latest | |
| needs: release-please | |
| if: ${{ needs.release-please.outputs.theme_release == 'true' }} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| with: | |
| ref: ${{ github.event.inputs.rev || github.sha }} | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm i --frozen-lockfile | |
| - name: Build VSCode | |
| id: build-vscode | |
| run: pnpm --filter catppuccin-vsc core:build | |
| - name: Publish to Visual Studio Marketplace | |
| working-directory: ./packages/catppuccin-vsc | |
| run: | | |
| npx @vscode/vsce publish --pat "${{ secrets.VS_MARKETPLACE_TOKEN }}" --packagePath "${{ steps.build-vscode.outputs.vsixPath }}" | |
| - name: Publish to Open VSX Registry | |
| working-directory: ./packages/catppuccin-vsc | |
| # continue even if OpenVSX fails | |
| # -> see https://github.com/catppuccin/vscode/issues/51 | |
| continue-on-error: true | |
| timeout-minutes: 10 | |
| run: | | |
| npx ovsx publish --pat "${{ secrets.OPEN_VSX_TOKEN }}" --packagePath "${{ steps.build-vscode.outputs.vsixPath }}" | |
| - name: Add files to GH Release | |
| working-directory: ./packages/catppuccin-vsc | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| gh release upload ${{ needs.release-please.outputs.theme_tag }} catppuccin-*.vsix | |
| release-pack: | |
| runs-on: ubuntu-latest | |
| needs: release-please | |
| if: ${{ needs.release-please.outputs.pack_release == 'true' }} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm i --frozen-lockfile | |
| - run: pnpm --filter catppuccin-vsc-pack pack:build | |
| - name: Publish to Visual Studio Marketplace | |
| working-directory: ./packages/catppuccin-vsc-pack | |
| run: | | |
| npx @vscode/vsce publish --pat "${{ secrets.VS_MARKETPLACE_TOKEN }}" --packagePath ./catppuccin-vsc-pack.vsix | |
| - name: Publish to Open VSX Registry | |
| working-directory: ./packages/catppuccin-vsc-pack | |
| # continue even if OpenVSX fails | |
| # -> see https://github.com/catppuccin/vscode/issues/51 | |
| continue-on-error: true | |
| timeout-minutes: 10 | |
| run: | | |
| npx ovsx publish --pat "${{ secrets.OPEN_VSX_TOKEN }}" --packagePath ./catppuccin-vsc-pack.vsix | |
| release-npm: | |
| permissions: | |
| id-token: write | |
| runs-on: ubuntu-latest | |
| needs: release-please | |
| if: ${{ needs.release-please.outputs.npm_release == 'true' }} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| registry-url: https://registry.npmjs.org | |
| - run: pnpm i --frozen-lockfile | |
| - name: Publish compiled NPM package | |
| working-directory: ./packages/catppuccin-vscode | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| run: pnpm publish | |
| mark-vscode-theme-as-latest: | |
| runs-on: ubuntu-latest | |
| # always run after all other jobs | |
| if: ${{ always() }} | |
| needs: | |
| - release-please | |
| - release-vscode | |
| - release-pack | |
| - release-npm | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| if: ${{ needs.release-please.outputs.theme_release == 'true' }} | |
| - name: Mark VSCode theme release as latest release | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: gh release edit ${{ needs.release-please.outputs.theme_tag }} --latest | |
| if: ${{ needs.release-please.outputs.theme_release == 'true' }} |