diff --git a/.github/workflows/publish-vscode-extension.yml b/.github/workflows/publish-vscode-extension.yml index 0acb9f3..f37e964 100644 --- a/.github/workflows/publish-vscode-extension.yml +++ b/.github/workflows/publish-vscode-extension.yml @@ -1,94 +1,94 @@ -name: Publish VS Code Extension - -on: - workflow_dispatch: - inputs: - version: - description: Extension version to publish, for example 0.1.0. Leave empty to use package.json or the pushed tag. - required: false - type: string - publish_to_marketplace: - description: Publish to the Visual Studio Marketplace after packaging. - required: true - type: boolean - default: true - push: - tags: - - 'gframework-config-tool-v*' - -permissions: - contents: read - -jobs: - publish: - name: Package And Publish Marketplace Extension - runs-on: ubuntu-latest - - defaults: - run: - working-directory: tools/vscode-config-extension - - steps: - - name: Checkout repository - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Setup Node.js 20 - uses: actions/setup-node@v5 - with: - node-version: 20 - - - name: Setup Bun - uses: oven-sh/setup-bun@v2 - with: - bun-version: 1.2.15 - - - name: Determine extension version - id: version - shell: bash - run: | - set -euo pipefail - - PACKAGE_VERSION=$(node -p "require('./package.json').version") - VERSION="${PACKAGE_VERSION}" - - if [[ "${GITHUB_REF:-}" == refs/tags/gframework-config-tool-v* ]]; then - VERSION="${GITHUB_REF#refs/tags/gframework-config-tool-v}" - elif [[ -n "${{ inputs.version || '' }}" ]]; then - VERSION="${{ inputs.version }}" - fi - - echo "Resolved extension version: ${VERSION}" - echo "version=${VERSION}" >> "${GITHUB_OUTPUT}" - - - name: Install extension dependencies - run: bun install - - - name: Synchronize package.json version - shell: bash - run: | - set -euo pipefail - node -e "const fs=require('fs'); const path='package.json'; const data=JSON.parse(fs.readFileSync(path,'utf8')); data.version='${{ steps.version.outputs.version }}'; fs.writeFileSync(path, JSON.stringify(data, null, 2) + '\n');" - - - name: Run extension tests - run: bun run test - - - name: Package VSIX - run: | - set -euo pipefail - mkdir -p ../../artifacts - bun run package:vsix -- --out "../../artifacts/gframework-config-tool-${{ steps.version.outputs.version }}.vsix" - - - name: Upload VSIX artifact - uses: actions/upload-artifact@v7 - with: - name: gframework-config-tool-vsix - path: artifacts/gframework-config-tool-${{ steps.version.outputs.version }}.vsix - if-no-files-found: error - - - name: Publish to Visual Studio Marketplace - if: github.event_name == 'push' || inputs.publish_to_marketplace - env: - VSCE_PAT: ${{ secrets.VSCE_PAT }} - run: bun run publish:marketplace +#name: Publish VS Code Extension +# +#on: +# workflow_dispatch: +# inputs: +# version: +# description: Extension version to publish, for example 0.1.0. Leave empty to use package.json or the pushed tag. +# required: false +# type: string +# publish_to_marketplace: +# description: Publish to the Visual Studio Marketplace after packaging. +# required: true +# type: boolean +# default: true +# push: +# tags: +# - 'gframework-config-tool-v*' +# +#permissions: +# contents: read +# +#jobs: +# publish: +# name: Package And Publish Marketplace Extension +# runs-on: ubuntu-latest +# +# defaults: +# run: +# working-directory: tools/vscode-config-extension +# +# steps: +# - name: Checkout repository +# uses: actions/checkout@v6 +# with: +# fetch-depth: 0 +# +# - name: Setup Node.js 20 +# uses: actions/setup-node@v5 +# with: +# node-version: 20 +# +# - name: Setup Bun +# uses: oven-sh/setup-bun@v2 +# with: +# bun-version: 1.2.15 +# +# - name: Determine extension version +# id: version +# shell: bash +# run: | +# set -euo pipefail +# +# PACKAGE_VERSION=$(node -p "require('./package.json').version") +# VERSION="${PACKAGE_VERSION}" +# +# if [[ "${GITHUB_REF:-}" == refs/tags/gframework-config-tool-v* ]]; then +# VERSION="${GITHUB_REF#refs/tags/gframework-config-tool-v}" +# elif [[ -n "${{ inputs.version || '' }}" ]]; then +# VERSION="${{ inputs.version }}" +# fi +# +# echo "Resolved extension version: ${VERSION}" +# echo "version=${VERSION}" >> "${GITHUB_OUTPUT}" +# +# - name: Install extension dependencies +# run: bun install +# +# - name: Synchronize package.json version +# shell: bash +# run: | +# set -euo pipefail +# node -e "const fs=require('fs'); const path='package.json'; const data=JSON.parse(fs.readFileSync(path,'utf8')); data.version='${{ steps.version.outputs.version }}'; fs.writeFileSync(path, JSON.stringify(data, null, 2) + '\n');" +# +# - name: Run extension tests +# run: bun run test +# +# - name: Package VSIX +# run: | +# set -euo pipefail +# mkdir -p ../../artifacts +# bun run package:vsix -- --out "../../artifacts/gframework-config-tool-${{ steps.version.outputs.version }}.vsix" +# +# - name: Upload VSIX artifact +# uses: actions/upload-artifact@v7 +# with: +# name: gframework-config-tool-vsix +# path: artifacts/gframework-config-tool-${{ steps.version.outputs.version }}.vsix +# if-no-files-found: error +# +# - name: Publish to Visual Studio Marketplace +# if: github.event_name == 'push' || inputs.publish_to_marketplace +# env: +# VSCE_PAT: ${{ secrets.VSCE_PAT }} +# run: bun run publish:marketplace