77 required : true
88 type : string
99 description : " Version to publish"
10- packageName :
11- required : true
12- type : string
13- description : " Package filename"
1410 isPreRelease :
1511 required : false
1612 type : boolean
2319 required : true
2420
2521jobs :
26- publishMS :
27- name : Publish to VS Marketplace
22+ setup :
23+ name : Setup Package Name
2824 runs-on : ubuntu-22.04
25+ outputs :
26+ packageName : ${{ steps.package.outputs.packageName }}
2927 steps :
3028 - uses : actions/checkout@v5
3129
30+ - uses : actions/setup-node@v5
31+ with :
32+ node-version : " 22"
33+
34+ - name : Construct package name
35+ id : package
36+ run : |
37+ EXTENSION_NAME=$(node -e "console.log(require('./package.json').name)")
38+ if [ "${{ inputs.isPreRelease }}" = "true" ]; then
39+ PACKAGE_NAME="${EXTENSION_NAME}-${{ inputs.version }}-pre.vsix"
40+ else
41+ PACKAGE_NAME="${EXTENSION_NAME}-${{ inputs.version }}.vsix"
42+ fi
43+ echo "packageName=$PACKAGE_NAME" >> $GITHUB_OUTPUT
44+ echo "Package name: $PACKAGE_NAME"
45+
46+ publishMS :
47+ name : Publish to VS Marketplace
48+ needs : setup
49+ runs-on : ubuntu-22.04
50+ steps :
3251 - uses : actions/setup-node@v5
3352 with :
3453 node-version : " 22"
@@ -44,17 +63,16 @@ jobs:
4463 run : |
4564 echo "Publishing version ${{ inputs.version }} to VS Marketplace"
4665 if [ "${{ inputs.isPreRelease }}" = "true" ]; then
47- vsce publish --pre-release --packagePath "./${{ inputs .packageName }}" -p ${{ secrets.VSCE_PAT }}
66+ vsce publish --pre-release --packagePath "./${{ needs.setup.outputs .packageName }}" -p ${{ secrets.VSCE_PAT }}
4867 else
49- vsce publish --packagePath "./${{ inputs .packageName }}" -p ${{ secrets.VSCE_PAT }}
68+ vsce publish --packagePath "./${{ needs.setup.outputs .packageName }}" -p ${{ secrets.VSCE_PAT }}
5069 fi
5170
5271 publishOVSX :
5372 name : Publish to Open VSX
73+ needs : setup
5474 runs-on : ubuntu-22.04
5575 steps :
56- - uses : actions/checkout@v5
57-
5876 - uses : actions/setup-node@v5
5977 with :
6078 node-version : " 22"
@@ -70,19 +88,18 @@ jobs:
7088 run : |
7189 echo "Publishing version ${{ inputs.version }} to Open VSX"
7290 if [ "${{ inputs.isPreRelease }}" = "true" ]; then
73- ovsx publish "./${{ inputs .packageName }}" --pre-release -p ${{ secrets.OVSX_PAT }}
91+ ovsx publish "./${{ needs.setup.outputs .packageName }}" --pre-release -p ${{ secrets.OVSX_PAT }}
7492 else
75- ovsx publish "./${{ inputs .packageName }}" -p ${{ secrets.OVSX_PAT }}
93+ ovsx publish "./${{ needs.setup.outputs .packageName }}" -p ${{ secrets.OVSX_PAT }}
7694 fi
7795
7896 publishGH :
7997 name : Create GitHub ${{ inputs.isPreRelease && 'Pre-' || '' }}Release
98+ needs : setup
8099 runs-on : ubuntu-22.04
81100 permissions :
82101 contents : write
83102 steps :
84- - uses : actions/checkout@v5
85-
86103 - uses : actions/download-artifact@v5
87104 with :
88105 name : extension-${{ inputs.version }}
94111 prerelease : ${{ inputs.isPreRelease }}
95112 draft : true
96113 title : " ${{ inputs.isPreRelease && 'Pre-' || '' }}Release v${{ inputs.version }}"
97- files : ${{ inputs .packageName }}
114+ files : ${{ needs.setup.outputs .packageName }}
0 commit comments