2525 config-file : .github/release-please-config.json
2626 manifest-file : .github/release-please-manifest.json
2727
28- publish :
28+ release-artifacts :
2929 needs : [release-please]
3030 if : ${{ needs.release-please.outputs.release_created == 'true' }}
3131 runs-on : ubuntu-latest
@@ -49,24 +49,56 @@ jobs:
4949 - uses : actions/checkout@v4
5050 with :
5151 ref : ${{ steps.event_details.outputs.tag_name }}
52- # Publishes to GitHub releases, VS Code Marketplace, and Open VSX Registry
53- # Requires secrets: PAT_VSCE (VS Code Marketplace) and OVSX_PAT (Open VSX)
54- - name : Add files and publish release
52+ - name : Build VSIX and upload to release
5553 env :
5654 GITHUB_TOKEN : ${{ github.token }}
57- VSCE_PAT : ${{ secrets.PAT_VSCE }}
58- OVSX_PAT : ${{ secrets.OVSX_PAT }}
5955 TAG_NAME : ${{ steps.event_details.outputs.tag_name }}
6056 run : |
6157 npm ci
6258 npm run package
6359 mv wit-idl.vsix ${TAG_NAME}.vsix
6460 gh release upload ${TAG_NAME} ${TAG_NAME}.vsix
65- npx vsce publish --packagePath ${TAG_NAME}.vsix
66- npx ovsx publish ${TAG_NAME}.vsix -p ${OVSX_PAT}
61+
62+ publish-vsce :
63+ needs : [release-please, release-artifacts]
64+ if : ${{ needs.release-please.outputs.release_created == 'true' }}
65+ runs-on : ubuntu-latest
66+ permissions :
67+ contents : write
68+ steps :
69+ - uses : actions/checkout@v4
70+ - name : Download VSIX asset
71+ env :
72+ GITHUB_TOKEN : ${{ github.token }}
73+ TAG_NAME : ${{ needs.release-artifacts.outputs.tag_name }}
74+ run : gh release download ${TAG_NAME} --pattern "${TAG_NAME}.vsix"
75+ - name : Publish to VS Code Marketplace
76+ env :
77+ VSCE_PAT : ${{ secrets.VSCE_PAT }}
78+ TAG_NAME : ${{ needs.release-artifacts.outputs.tag_name }}
79+ run : npx vsce publish --packagePath ${TAG_NAME}.vsix
80+
81+ publish-ovsx :
82+ needs : [release-please, release-artifacts]
83+ if : ${{ needs.release-please.outputs.release_created == 'true' }}
84+ runs-on : ubuntu-latest
85+ permissions :
86+ contents : write
87+ steps :
88+ - uses : actions/checkout@v4
89+ - name : Download VSIX asset
90+ env :
91+ GITHUB_TOKEN : ${{ github.token }}
92+ TAG_NAME : ${{ needs.release-artifacts.outputs.tag_name }}
93+ run : gh release download ${TAG_NAME} --pattern "${TAG_NAME}.vsix"
94+ - name : Publish to Open VSX Registry
95+ env :
96+ OVSX_PAT : ${{ secrets.OVSX_PAT }}
97+ TAG_NAME : ${{ needs.release-artifacts.outputs.tag_name }}
98+ run : npx ovsx publish ${TAG_NAME}.vsix -p ${OVSX_PAT}
6799
68100 label :
69- needs : [publish]
101+ needs : [release-artifacts, publish-vsce, publish-ovsx ]
70102 runs-on : ubuntu-latest
71103 permissions :
72104 contents : read
83115 gh pr edit ${PR_NUMBER} --add-label 'autorelease: published'
84116
85117 comments :
86- needs : [publish]
118+ needs : [release-artifacts, publish-vsce, publish-ovsx ]
87119 runs-on : ubuntu-latest
88120 permissions :
89121 contents : write
94126 with :
95127 GITHUB_TOKEN : ${{ github.token }}
96128 comment-template : |
97- :tada: This change has been included in ${{ needs.publish .outputs.tag_name }} :tada:
129+ :tada: This change has been included in ${{ needs.release-artifacts .outputs.tag_name }} :tada:
98130
99131 The release is available on:
100132 - GitHub releases: {release_link}
0 commit comments