2525 strategy :
2626 matrix :
2727 os : [ubuntu-latest, windows-latest, macOS-latest]
28+ outputs :
29+ name : ${{ steps.set-version.outputs.name }}
30+ version : ${{ steps.set-version.outputs.version }}
2831 steps :
2932 - uses : actions/checkout@v2
3033 - run : git fetch --depth=1 origin +refs/tags/*:refs/tags/*
@@ -65,49 +68,31 @@ jobs:
6568 run : |
6669 npx vsce package --pre-release -o ${{ steps.set-version.outputs.name }}.vsix
6770 - uses : actions/upload-artifact@v2
68- if : runner.os == 'Windows'
71+ if : ( runner.os == 'Windows') && (github.event_name != 'release')
6972 with :
7073 name : ${{ steps.set-version.outputs.name }}.vsix
7174 path : ${{ steps.set-version.outputs.name }}.vsix
72- - uses : actions/upload-artifact@v2
73- if : runner.os == 'Windows'
74- with :
75- name : meta
76- path : |
77- .name
78- .version
7975 beta :
8076 if : (github.event_name == 'push')
8177 runs-on : windows-latest
8278 needs : build
8379 steps :
8480 - uses : actions/download-artifact@v2
8581 with :
86- name : meta
87- path : .
88- - name : Set an output
89- id : set-version
90- if : runner.os == 'Windows'
91- run : |
92- set -x
93- echo ::set-output name=version::`cat .version`
94- echo ::set-output name=name::`cat .name`
95- - uses : actions/download-artifact@v2
96- with :
97- name : ${{ steps.set-version.outputs.name }}.vsix
82+ name : ${{ needs.build.outputs.name }}.vsix
9883 - name : Create Pre-Release
9984 id : create_release
10085 uses : actions/create-release@v1
10186 if : runner.os == 'Windows'
10287 env :
10388 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
10489 with :
105- tag_name : v${{ steps.set-version .outputs.version }}
106- release_name : v${{ steps.set-version .outputs.version }}
90+ tag_name : v${{ needs.build .outputs.version }}
91+ release_name : v${{ needs.build .outputs.version }}
10792 prerelease : ${{ github.event_name != 'release' }}
10893 body : |
10994 Changes in this pre-release
110- ${{ steps.set-version .outputs.changelog }}
95+ ${{ needs.build .outputs.changelog }}
11196 - name : Upload Pre-Release Asset
11297 id : upload-release-asset
11398 uses : actions/upload-release-asset@v1
@@ -116,8 +101,8 @@ jobs:
116101 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
117102 with :
118103 upload_url : ${{ steps.create_release.outputs.upload_url }}
119- asset_path : ${{ steps.set-version .outputs.name }}.vsix
120- asset_name : ${{ steps.set-version .outputs.name }}.vsix
104+ asset_path : ${{ needs.build .outputs.name }}.vsix
105+ asset_name : ${{ needs.build .outputs.name }}.vsix
121106 asset_content_type : application/zip
122107 publish :
123108 if : github.event_name == 'release'
@@ -128,10 +113,6 @@ jobs:
128113 with :
129114 ref : prerelease
130115 token : ${{ secrets.TOKEN }}
131- - uses : actions/download-artifact@v2
132- with :
133- name : meta
134- path : .
135116 - name : Use Node.js
136117 uses : actions/setup-node@v1
137118 with :
@@ -140,9 +121,8 @@ jobs:
140121 id : set-version
141122 shell : bash
142123 run : |
143- VERSION=`cat .version`
144- NEXT_VERSION=`cat .version | awk -F. '/[0-9]+\./{$NF++;print}' OFS=.`
145- echo ::set-output name=name::`cat .name`
124+ VERSION=${{ needs.build.outputs.version }}
125+ NEXT_VERSION=`echo $VERSION | awk -F. '/[0-9]+\./{$NF++;print}' OFS=.`
146126 tmp=$(mktemp)
147127 git config --global user.name 'ProjectBot'
148128 git config --global user.email '[email protected] ' @@ -155,7 +135,7 @@ jobs:
155135 git push
156136 - name : Build pre-release package
157137 run : |
158- npx vsce package --pre-release -o ${{ steps.set-version .outputs.name }}.vsix
138+ npx vsce package --pre-release -o ${{ needs.build .outputs.name }}.vsix
159139 - name : Upload Release Asset
160140 id : upload-release-asset
161141 uses : actions/upload-release-asset@v1
@@ -164,11 +144,11 @@ jobs:
164144 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
165145 with :
166146 upload_url : ${{ github.event.release.upload_url }}
167- asset_path : ${{ steps.set-version .outputs.name }}.vsix
168- asset_name : ${{ steps.set-version .outputs.name }}.vsix
147+ asset_path : ${{ needs.build .outputs.name }}.vsix
148+ asset_name : ${{ needs.build .outputs.name }}.vsix
169149 asset_content_type : application/zip
170150 - name : Publish to VSCode Marketplace
171151 shell : bash
172152 run : |
173153 [ -n "${{ secrets.VSCE_TOKEN }}" ] && \
174- npx vsce publish --pre-release --packagePath ${{ steps.set-version .outputs.name }}.vsix -p ${{ secrets.VSCE_TOKEN }} || true
154+ npx vsce publish --pre-release --packagePath ${{ needs.build .outputs.name }}.vsix -p ${{ secrets.VSCE_TOKEN }} || true
0 commit comments