From dc320e855148326a5c5a7ff5c622e058f73d5863 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 18:55:22 +0200 Subject: [PATCH 01/16] add publish ci --- .github/workflows/publish.yml | 88 +++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..a28c8774 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,88 @@ +name: Publish + +on: + workflow_dispatch: + + +permissions: + contents: write + +env: + TEST_TIMEOUT: 5m + +jobs: + test: + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + include: + - os: windows-latest + platform: win32 + arch: x64 + npm_config_arch: x64 + - os: windows-latest + platform: win32 + arch: arm64 + npm_config_arch: arm + - os: ubuntu-latest + platform: linux + arch: x64 + npm_config_arch: x64 + - os: ubuntu-latest + platform: linux + arch: arm64 + npm_config_arch: arm64 + - os: ubuntu-latest + platform: linux + arch: armhf + npm_config_arch: arm + - os: ubuntu-latest + platform: alpine + arch: x64 + npm_config_arch: x64 + - os: ubuntu-latest + platform: alpine + arch: arm64 + npm_config_arch: arm64 + - os: macos-latest + platform: darwin + arch: x64 + npm_config_arch: x64 + - os: macos-latest + platform: darwin + arch: arm64 + npm_config_arch: arm64 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22.x + - name: Install extension dependencies + run: yarn run install:all + - name: Build webview + run: yarn run build:webview + - name: Run tests + uses: coactions/setup-xvfb@v1 + with: + run: yarn test + env: + TEST_TIMEOUT: 2m + - shell: pwsh + run: echo "target=${{ matrix.platform }}-${{ matrix.arch }}" >> $env:GITHUB_ENV + - run: npx --yes vsce package --yarn --githubBranch ${{ github.ref_name }} --target ${{ env.target }} + - uses: actions/upload-artifact@v4 + with: + name: ${{ env.target }} + path: "*.vsix" + + publish: + runs-on: ubuntu-latest + needs: test + if: success() && startsWith( github.ref, 'refs/tags/') + steps: + - uses: actions/download-artifact@v4 + - run: npx vsce publish --packagePath $(find . -iname *.vsix) + env: + VSCE_PAT: ${{ secrets.VSCE_PAT }} From 261f48483017fc28b00f891a25e03568435746d8 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:13:49 +0200 Subject: [PATCH 02/16] keep entire tree-sitter module in vsix file --- .vscodeignore | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.vscodeignore b/.vscodeignore index 68d19a62..802379a4 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -10,12 +10,6 @@ !out/extension.js !webview-ui/public -# keep only non-compiled dependency files !node_modules/node-gyp-build !node_modules/node-addon-api -!node_modules/tree-sitter/src -!node_modules/tree-sitter/vendor -!node_modules/tree-sitter/binding.gyp -!node_modules/tree-sitter/index.js -!node_modules/tree-sitter/package.json -!node_modules/tree-sitter/LICENSE +!node_modules/tree-sitter From 4efc2709fdc1a9d45f205eb3a6a0430bf9cc30e1 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:13:57 +0200 Subject: [PATCH 03/16] fix package.json icon path --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 85288804..f600c04f 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "email": "selfint@gmail.com" }, "homepage": "https://github.com/selfint/code-blocks#readme", - "icon": "./assets/extension-logo.png", + "icon": "assets/extension-logo.png", "galleryBanner": { "color": "#6295E3", "theme": "dark" From 844a5e526e1b6533b0965acba21b88395794c1d9 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:15:05 +0200 Subject: [PATCH 04/16] publish vsix from github actions using platform specific builds --- .github/workflows/ci-cd.yml | 206 +++++++++++++++++++++++------------- .github/workflows/pr.yml | 104 ------------------ 2 files changed, 130 insertions(+), 180 deletions(-) delete mode 100644 .github/workflows/pr.yml diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index effbe006..a396e154 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -1,87 +1,141 @@ name: CI/CD on: - push: + push: + pull_request: + workflow_dispatch: + inputs: + publish: + description: "Publish extension to VSCode Marketplace" + type: boolean + required: true + default: false permissions: - contents: write + contents: write env: - TEST_TIMEOUT: 5m + TEST_TIMEOUT: 5m + BRANCH: ${{ startsWith(github.head_ref, '') && github.head_ref || github.ref_name }} jobs: - test: - timeout-minutes: 60 - strategy: - fail-fast: false - matrix: - os: [macos-latest, ubuntu-latest, windows-latest] - runs-on: ${{ matrix.os }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Install extension dependencies - run: yarn run install:all - - name: Build webview - if: matrix.os != 'macos-latest' - run: yarn run build:webview - # TODO: fix this command getting stuck on macos - - name: Build webview - if: matrix.os == 'macos-latest' - uses: nick-fields/retry@v3 - with: - timeout_minutes: 1 - max_attempts: 5 - command: yarn run build:webview - - name: Run tests - uses: coactions/setup-xvfb@v1 - with: - run: yarn test - env: - TEST_TIMEOUT: 2m + test: + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + include: + - os: windows-latest + platform: win32 + arch: x64 + npm_config_arch: x64 + - os: windows-latest + platform: win32 + arch: arm64 + npm_config_arch: arm + - os: ubuntu-latest + platform: linux + arch: x64 + npm_config_arch: x64 + - os: ubuntu-latest + platform: linux + arch: arm64 + npm_config_arch: arm64 + - os: ubuntu-latest + platform: linux + arch: armhf + npm_config_arch: arm + - os: ubuntu-latest + platform: alpine + arch: x64 + npm_config_arch: x64 + - os: ubuntu-latest + platform: alpine + arch: arm64 + npm_config_arch: arm64 + - os: macos-latest + platform: darwin + arch: x64 + npm_config_arch: x64 + - os: macos-latest + platform: darwin + arch: arm64 + npm_config_arch: arm64 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22.x + - name: Install extension dependencies + run: yarn run install:all + - name: Build webview + run: yarn run build:webview + - name: Run tests + uses: coactions/setup-xvfb@v1 + with: + run: yarn test + env: + TEST_TIMEOUT: 2m + - shell: pwsh + run: echo "target=${{ matrix.platform }}-${{ matrix.arch }}" >> $env:GITHUB_ENV + - run: npx --yes vsce package --yarn --githubBranch ${{ github.ref_name }} --target ${{ env.target }} + - uses: actions/upload-artifact@v4 + with: + name: ${{ env.target }} + path: "*.vsix" - package: - name: Package extension - needs: test - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Install extension dependencies - run: yarn run install:all - - name: Build webview - run: yarn run build:webview - - name: Package extension - run: npx --yes @vscode/vsce package --yarn --githubBranch ${{ github.ref_name }} - - name: Upload extension - uses: actions/upload-artifact@v4 - with: - name: code-blocks-${{ github.ref_name }}.vsix - path: code-blocks-*.vsix + examples: + name: Build examples + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + - name: Install asset generation dependencies + run: | + sudo mkdir -p /usr/local/bin + sudo ln -sf /bin/true /usr/local/bin/mandb # no-op to skip man-db triggers + sudo DEBIAN_FRONTEND=noninteractive apt update + sudo DEBIAN_FRONTEND=noninteractive \ + apt install -y --no-install-recommends \ + ffmpeg libnss3 xvfb \ + -o Dpkg::Options::="--path-exclude=/usr/share/man/*" \ + -o Dpkg::Options::="--path-exclude=/usr/share/doc/*" + - name: Install extension dependencies + run: yarn run install:all + - name: Build webview + run: yarn run build:webview + - name: Build extension + run: yarn run compile + - name: Setting global vscode settings + run: cp -r ./out/examples/examples-editor/.vscode ~/.vscode + - name: Generate assets + run: | + chmod +x ./generate-assets.sh + chmod +x ./generate-example-asset.sh + ./generate-assets.sh ./out/examples . + - name: Upload assets + uses: actions/upload-artifact@v4 + with: + name: ${{ env.BRANCH }}-assets + path: | + *.gif - release: - name: Release extension - if: startsWith(github.ref, 'refs/tags/v') - needs: package - runs-on: ubuntu-latest - steps: - - name: Download package - uses: actions/download-artifact@v4 - with: - name: code-blocks-${{ github.ref_name }}.vsix - path: . - - name: Publish GitHub release - uses: softprops/action-gh-release@v1 - with: - generate_release_notes: true - files: code-blocks-*.vsix - # - name: Publish GitHub release - # run: npx @vscode/vsce publish -i $(ls code-blocks-*.vsix) + publish: + runs-on: ubuntu-latest + needs: test + if: success() && startsWith(github.ref, 'refs/tags/v') && github.event_name == 'workflow_dispatch' && inputs.publish == true + steps: + - uses: actions/download-artifact@v4 + - run: npx vsce publish --packagePath $(find . -iname *.vsix) + env: + VSCE_PAT: ${{ secrets.VSCE_PAT }} + - name: Publish GitHub release + uses: softprops/action-gh-release@v1 + with: + generate_release_notes: true + files: code-blocks-*.vsix diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml deleted file mode 100644 index 691748f5..00000000 --- a/.github/workflows/pr.yml +++ /dev/null @@ -1,104 +0,0 @@ -name: Pull request checks - -on: - pull_request: - -env: - TEST_TIMEOUT: 5m - EXAMPLE_TIMEOUT: 5m - BRANCH: ${{ startsWith(github.head_ref, '') && github.head_ref || github.ref_name }} - -jobs: - test: - timeout-minutes: 60 - strategy: - fail-fast: false - matrix: - os: [macos-latest, ubuntu-latest, windows-latest] - runs-on: ${{ matrix.os }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Install extension dependencies - run: yarn run install:all - - name: Build webview - if: matrix.os != 'macos-latest' - run: yarn run build:webview - # TODO: fix this command getting stuck on macos - - name: Build webview - if: matrix.os == 'macos-latest' - uses: nick-fields/retry@v3 - with: - timeout_minutes: 1 - max_attempts: 5 - command: yarn run build:webview - - name: Run tests - uses: coactions/setup-xvfb@v1 - with: - run: yarn test - - examples: - name: Build examples - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Install asset generation dependencies - run: | - sudo mkdir -p /usr/local/bin - sudo ln -sf /bin/true /usr/local/bin/mandb # no-op to skip man-db triggers - sudo DEBIAN_FRONTEND=noninteractive apt update - sudo DEBIAN_FRONTEND=noninteractive \ - apt install -y --no-install-recommends \ - ffmpeg libnss3 xvfb \ - -o Dpkg::Options::="--path-exclude=/usr/share/man/*" \ - -o Dpkg::Options::="--path-exclude=/usr/share/doc/*" - - name: Install extension dependencies - run: yarn run install:all - - name: Build webview - run: yarn run build:webview - - name: Build extension - run: yarn run compile - - name: Setting global vscode settings - run: cp -r ./out/examples/examples-editor/.vscode ~/.vscode - - name: Generate assets - run: | - chmod +x ./generate-assets.sh - chmod +x ./generate-example-asset.sh - ./generate-assets.sh ./out/examples . - - name: Upload assets - uses: actions/upload-artifact@v4 - with: - name: ${{ env.BRANCH }}-assets - path: | - *.gif - - package: - name: Package extension - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Install extension dependencies - run: yarn run install:all - - name: Build webview - run: yarn run build:webview - - name: Package extension - run: npx --yes @vscode/vsce package --yarn --githubBranch ${{ env.BRANCH }} - - name: Upload extension - uses: actions/upload-artifact@v4 - with: - name: code-blocks-${{ env.BRANCH }}.vsix - path: code-blocks-*.vsix From afdba696543ed529f3cc99729e208c0aae446472 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:15:19 +0200 Subject: [PATCH 05/16] remove publish.yml --- .github/workflows/publish.yml | 88 ----------------------------------- 1 file changed, 88 deletions(-) delete mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index a28c8774..00000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Publish - -on: - workflow_dispatch: - - -permissions: - contents: write - -env: - TEST_TIMEOUT: 5m - -jobs: - test: - timeout-minutes: 60 - strategy: - fail-fast: false - matrix: - include: - - os: windows-latest - platform: win32 - arch: x64 - npm_config_arch: x64 - - os: windows-latest - platform: win32 - arch: arm64 - npm_config_arch: arm - - os: ubuntu-latest - platform: linux - arch: x64 - npm_config_arch: x64 - - os: ubuntu-latest - platform: linux - arch: arm64 - npm_config_arch: arm64 - - os: ubuntu-latest - platform: linux - arch: armhf - npm_config_arch: arm - - os: ubuntu-latest - platform: alpine - arch: x64 - npm_config_arch: x64 - - os: ubuntu-latest - platform: alpine - arch: arm64 - npm_config_arch: arm64 - - os: macos-latest - platform: darwin - arch: x64 - npm_config_arch: x64 - - os: macos-latest - platform: darwin - arch: arm64 - npm_config_arch: arm64 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 22.x - - name: Install extension dependencies - run: yarn run install:all - - name: Build webview - run: yarn run build:webview - - name: Run tests - uses: coactions/setup-xvfb@v1 - with: - run: yarn test - env: - TEST_TIMEOUT: 2m - - shell: pwsh - run: echo "target=${{ matrix.platform }}-${{ matrix.arch }}" >> $env:GITHUB_ENV - - run: npx --yes vsce package --yarn --githubBranch ${{ github.ref_name }} --target ${{ env.target }} - - uses: actions/upload-artifact@v4 - with: - name: ${{ env.target }} - path: "*.vsix" - - publish: - runs-on: ubuntu-latest - needs: test - if: success() && startsWith( github.ref, 'refs/tags/') - steps: - - uses: actions/download-artifact@v4 - - run: npx vsce publish --packagePath $(find . -iname *.vsix) - env: - VSCE_PAT: ${{ secrets.VSCE_PAT }} From 9eecbf6165471fc49be736f902b2f438dee72d04 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:28:26 +0200 Subject: [PATCH 06/16] update CHANGELOG --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14e59e21..73863ad7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ # 0.8.0 +> [!IMPORTANT] +> +> This release also fixes the issue that caused the extension to fail on non-Mac systems - [#195](https://github.com/selfint/code-blocks/issues/195). + ## Added - Multi-cursor support in Block Mode, thanks [@CB2Moon](https://github.com/selfint/code-blocks/pull/188)! @@ -22,6 +26,8 @@ - Parser build method ([[#193](https://github.com/selfint/code-blocks/issues/193)]), now uses `node-gyp` instead of `tree-sitter-cli`. +- Binary dependency caused extension to fail on non-Mac systems ([#195](https://github.com/selfint/code-blocks/issues/195)). + ## Deprecated - Support for `node` v18, it might still work, but the extension now requires `node` v20+. From 359421f6e8675916ece9bd56aac1003df1bf271c Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:28:34 +0200 Subject: [PATCH 07/16] update ci artifact names --- .github/workflows/ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index a396e154..d72884bb 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -82,7 +82,7 @@ jobs: - run: npx --yes vsce package --yarn --githubBranch ${{ github.ref_name }} --target ${{ env.target }} - uses: actions/upload-artifact@v4 with: - name: ${{ env.target }} + name: code-blocks-${{ github.ref_name }}-${{ github.ref_name }} path: "*.vsix" examples: From 48df71ff3ee6c0d7e387a45f26e43043ac2c5977 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:30:22 +0200 Subject: [PATCH 08/16] don't run ci on pull request --- .github/workflows/ci-cd.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index d72884bb..3867f461 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -2,7 +2,6 @@ name: CI/CD on: push: - pull_request: workflow_dispatch: inputs: publish: From 724a61cc4a0ad5d5216243c1b0d3b4c93391cea2 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:33:45 +0200 Subject: [PATCH 09/16] fix ci run triggers --- .github/workflows/ci-cd.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 3867f461..ded225bf 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -2,6 +2,12 @@ name: CI/CD on: push: + branches: + - main + - v* + tags: + - v* + pull_request: workflow_dispatch: inputs: publish: From 718af8d49b78db494a825ee9dfb4dd242cc3ce7f Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:40:25 +0200 Subject: [PATCH 10/16] fix ci --- .github/workflows/ci-cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index ded225bf..d8eeef11 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -84,10 +84,10 @@ jobs: TEST_TIMEOUT: 2m - shell: pwsh run: echo "target=${{ matrix.platform }}-${{ matrix.arch }}" >> $env:GITHUB_ENV - - run: npx --yes vsce package --yarn --githubBranch ${{ github.ref_name }} --target ${{ env.target }} + - run: npx --yes vsce package --yarn --githubBranch ${{ env.BRANCH }} --target ${{ env.target }} - uses: actions/upload-artifact@v4 with: - name: code-blocks-${{ github.ref_name }}-${{ github.ref_name }} + name: code-blocks-${{ env.BRANCH }}-${{ env.target }} path: "*.vsix" examples: From 152fc811406af1fcb94899918d58b717b7068cae Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:42:15 +0200 Subject: [PATCH 11/16] and concurrency limit per-branch to ci --- .github/workflows/ci-cd.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index d8eeef11..74f9808e 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -16,6 +16,10 @@ on: required: true default: false +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + permissions: contents: write From f5f838d8d92ebc1a076b17b3d832f1bf1ad21152 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:54:08 +0200 Subject: [PATCH 12/16] update action versions in ci --- .github/workflows/ci-cd.yml | 18 +++++++++--------- .github/workflows/jekyll-gh-pages.yml | 2 +- .github/workflows/update-assets.yml | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 74f9808e..b312c819 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -72,8 +72,8 @@ jobs: npm_config_arch: arm64 runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-node@v6 with: node-version: 22.x - name: Install extension dependencies @@ -89,7 +89,7 @@ jobs: - shell: pwsh run: echo "target=${{ matrix.platform }}-${{ matrix.arch }}" >> $env:GITHUB_ENV - run: npx --yes vsce package --yarn --githubBranch ${{ env.BRANCH }} --target ${{ env.target }} - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v5 with: name: code-blocks-${{ env.BRANCH }}-${{ env.target }} path: "*.vsix" @@ -99,11 +99,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 22.x - name: Install asset generation dependencies run: | sudo mkdir -p /usr/local/bin @@ -128,7 +128,7 @@ jobs: chmod +x ./generate-example-asset.sh ./generate-assets.sh ./out/examples . - name: Upload assets - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: ${{ env.BRANCH }}-assets path: | @@ -139,12 +139,12 @@ jobs: needs: test if: success() && startsWith(github.ref, 'refs/tags/v') && github.event_name == 'workflow_dispatch' && inputs.publish == true steps: - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v5 - run: npx vsce publish --packagePath $(find . -iname *.vsix) env: VSCE_PAT: ${{ secrets.VSCE_PAT }} - name: Publish GitHub release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: generate_release_notes: true files: code-blocks-*.vsix diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index 4254a53b..07f81ad7 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -27,7 +27,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Pages uses: actions/configure-pages@v3 - name: Build with Jekyll diff --git a/.github/workflows/update-assets.yml b/.github/workflows/update-assets.yml index acc1fee6..fff4166e 100644 --- a/.github/workflows/update-assets.yml +++ b/.github/workflows/update-assets.yml @@ -16,11 +16,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 22.x - name: Install asset generation dependencies run: | sudo mkdir -p /usr/local/bin From efab7557e2b038be497aa91e538b5081c78ac3f8 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:54:29 +0200 Subject: [PATCH 13/16] use node 20 in ci --- .github/workflows/ci-cd.yml | 4 ++-- .github/workflows/update-assets.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index b312c819..a64cf51e 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -75,7 +75,7 @@ jobs: - uses: actions/checkout@v5 - uses: actions/setup-node@v6 with: - node-version: 22.x + node-version: 20 22.x - name: Install extension dependencies run: yarn run install:all - name: Build webview @@ -103,7 +103,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: 22.x + node-version: 20 22.x - name: Install asset generation dependencies run: | sudo mkdir -p /usr/local/bin diff --git a/.github/workflows/update-assets.yml b/.github/workflows/update-assets.yml index fff4166e..3739a109 100644 --- a/.github/workflows/update-assets.yml +++ b/.github/workflows/update-assets.yml @@ -20,7 +20,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: 22.x + node-version: 20 22.x - name: Install asset generation dependencies run: | sudo mkdir -p /usr/local/bin From bd94bf4490c642e2dcfabd18c3573582bd8c4b2b Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 19:55:41 +0200 Subject: [PATCH 14/16] fix ci --- .github/workflows/ci-cd.yml | 4 ++-- .github/workflows/update-assets.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index a64cf51e..2316e949 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -75,7 +75,7 @@ jobs: - uses: actions/checkout@v5 - uses: actions/setup-node@v6 with: - node-version: 20 22.x + node-version: 20 - name: Install extension dependencies run: yarn run install:all - name: Build webview @@ -103,7 +103,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: 20 22.x + node-version: 20 - name: Install asset generation dependencies run: | sudo mkdir -p /usr/local/bin diff --git a/.github/workflows/update-assets.yml b/.github/workflows/update-assets.yml index 3739a109..13e88102 100644 --- a/.github/workflows/update-assets.yml +++ b/.github/workflows/update-assets.yml @@ -20,7 +20,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: 20 22.x + node-version: 20 - name: Install asset generation dependencies run: | sudo mkdir -p /usr/local/bin From ee57f508f4546693b48643920e4ab2c746829474 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 20:03:31 +0200 Subject: [PATCH 15/16] remove quote block from changelog vscode extension page does not support it --- CHANGELOG.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73863ad7..aced33fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,6 @@ # 0.8.0 -> [!IMPORTANT] -> -> This release also fixes the issue that caused the extension to fail on non-Mac systems - [#195](https://github.com/selfint/code-blocks/issues/195). - ## Added - Multi-cursor support in Block Mode, thanks [@CB2Moon](https://github.com/selfint/code-blocks/pull/188)! From a380e24a561144ec88e3102e671410904612bd78 Mon Sep 17 00:00:00 2001 From: Tom Selfin Date: Sat, 8 Nov 2025 20:11:00 +0200 Subject: [PATCH 16/16] use @vscode/vsce in ci --- .github/workflows/ci-cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 2316e949..d3db94f6 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -88,7 +88,7 @@ jobs: TEST_TIMEOUT: 2m - shell: pwsh run: echo "target=${{ matrix.platform }}-${{ matrix.arch }}" >> $env:GITHUB_ENV - - run: npx --yes vsce package --yarn --githubBranch ${{ env.BRANCH }} --target ${{ env.target }} + - run: npx --yes @vscode/vsce package --yarn --githubBranch ${{ env.BRANCH }} --target ${{ env.target }} - uses: actions/upload-artifact@v5 with: name: code-blocks-${{ env.BRANCH }}-${{ env.target }} @@ -140,7 +140,7 @@ jobs: if: success() && startsWith(github.ref, 'refs/tags/v') && github.event_name == 'workflow_dispatch' && inputs.publish == true steps: - uses: actions/download-artifact@v5 - - run: npx vsce publish --packagePath $(find . -iname *.vsix) + - run: npx --yes @vscode/vsce publish --packagePath $(find . -iname *.vsix) env: VSCE_PAT: ${{ secrets.VSCE_PAT }} - name: Publish GitHub release