Release #7
This file contains 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 | |
on: | |
repository_dispatch: | |
types: [trigger-release] | |
workflow_dispatch: {} | |
jobs: | |
notify-start: | |
name: Notify when started | |
if: github.event.client_payload.github.event.issue.number && github.event.client_payload.commentId | |
runs-on: ubuntu-latest | |
steps: | |
- name: Update comment | |
uses: peter-evans/create-or-update-comment@v4 | |
with: | |
issue-number: ${{ github.event.client_payload.github.event.issue.number }} | |
comment-id: ${{ github.event.client_payload.commentId }} | |
body: | | |
🎁 Publishing to marketplaces... | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
outputs: | |
vsixPath: ${{ steps.vsixBuild.outputs.vsixPath }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: npm ci | |
- name: Build VSIX extension file | |
uses: HaaLeo/publish-vscode-extension@v1 | |
id: vsixBuild | |
with: | |
dryRun: true | |
pat: stub | |
- name: Archive the extension build file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: extension | |
path: ${{ steps.vsixBuild.outputs.vsixPath }} | |
- name: Get release | |
id: release | |
uses: pepoviola/action-latest-release-info@v0.0.2 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- name: Add VSIX release asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.release.outputs.upload_url }} | |
asset_path: ${{ steps.vsixBuild.outputs.vsixPath }} | |
asset_name: ${{ steps.vsixBuild.outputs.vsixPath }} | |
asset_content_type: application/vsix | |
publish-vs: | |
name: VS Marketplace | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download built extension artifact | |
uses: actions/download-artifact@v4.1.8 | |
id: download | |
with: | |
name: extension | |
- name: Publish to Visual Studio Marketplace | |
uses: HaaLeo/publish-vscode-extension@v1 | |
with: | |
pat: ${{ secrets.VS_MARKETPLACE_TOKEN }} | |
registryUrl: https://marketplace.visualstudio.com | |
extensionFile: ${{ needs.build.outputs.vsixPath }} | |
packagePath: "" | |
publish-open-vsx: | |
name: Open VSX Registry | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download built extension artifact | |
uses: actions/download-artifact@v4.1.8 | |
id: download | |
with: | |
name: extension | |
- name: Publish to Open VSX Registry | |
uses: HaaLeo/publish-vscode-extension@v1 | |
id: publishToOpenVSX | |
with: | |
pat: ${{ secrets.OPEN_VSX_TOKEN }} | |
extensionFile: ${{ needs.build.outputs.vsixPath }} | |
packagePath: "" | |
notify-end: | |
name: Notify when finished | |
if: github.event.client_payload.github.event.issue.number && github.event.client_payload.commentId | |
needs: [publish-vs, publish-open-vsx] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Update comment | |
uses: peter-evans/create-or-update-comment@v4 | |
with: | |
issue-number: ${{ github.event.client_payload.github.event.issue.number }} | |
comment-id: ${{ github.event.client_payload.commentId }} | |
body: | | |
🎉 Released! | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Close Issue | |
uses: peter-evans/close-issue@v3 | |
with: | |
issue-number: ${{ github.event.client_payload.github.event.issue.number }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |