2222 # os: [ubuntu-latest, windows-latest, macOS-latest]
2323 os : [ubuntu-latest]
2424 steps :
25- - uses : actions/checkout@v2
25+ - uses : actions/checkout@v4
2626 - run : git fetch --depth=1 origin +refs/tags/*:refs/tags/*
2727 - name : Set an output
2828 id : set-version
@@ -46,18 +46,14 @@ jobs:
4646 echo $VERSION > .version
4747 echo $NAME > .name
4848 - name : Use Node.js
49- uses : actions/setup-node@v2
49+ uses : actions/setup-node@v4
5050 with :
51- node-version : 14
51+ node-version : 20
5252 - run : npm install
5353 - name : lint
5454 if : runner.os == 'Linux'
5555 run : npm run lint
5656 - run : npm run compile
57- - name : npm test
58- uses : GabrielBB/xvfb-action@v1.0
59- with :
60- run : npm run test
6157 - name : Build package
6258 if : runner.os == 'Linux'
6359 run : |
7975 runs-on : ubuntu-latest
8076 needs : build
8177 steps :
82- - uses : actions/download-artifact@v2
78+ - uses : actions/download-artifact@v4
8379 with :
8480 name : meta
8581 path : .
@@ -90,48 +86,35 @@ jobs:
9086 set -x
9187 echo ::set-output name=version::`cat .version`
9288 echo ::set-output name=name::`cat .name`
93- - uses : actions/download-artifact@v2
89+ - uses : actions/download-artifact@v4
9490 with :
9591 name : ${{ steps.set-version.outputs.name }}.vsix
96- - name : Create Release
97- id : create_release
98- uses : actions/create-release@v1
99- if : runner.os == 'Linux'
100- env :
101- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
102- with :
103- tag_name : v${{ steps.set-version.outputs.version }}
104- release_name : v${{ steps.set-version.outputs.version }}
105- prerelease : ${{ github.event_name != 'release' }}
106- body : |
107- Changes in this release
108- ${{ steps.set-version.outputs.changelog }}
10992 - name : Upload Release Asset
11093 id : upload-release-asset
111- uses : actions/upload-release-asset@v1
94+ uses : softprops/action-gh-release@v2
11295 if : runner.os == 'Linux'
11396 env :
11497 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
11598 with :
116- upload_url : ${{ steps.create_release .outputs.upload_url }}
117- asset_path : ${{ steps.set-version.outputs.name }}.vsix
118- asset_name : ${{ steps.set-version.outputs.name }}.vsix
119- asset_content_type : application/zip
99+ tag_name : v ${{ steps.set-version .outputs.version }}
100+ prerelease : ${{ github.event_name != 'release' }}
101+ files : ${{ steps.set-version.outputs.name }}.vsix
102+ token : ${{ secrets.GITHUB_TOKEN }}
120103 publish :
121104 if : github.event_name == 'release'
122105 runs-on : ubuntu-latest
123106 needs : build
124107 steps :
125- - uses : actions/checkout@v2
108+ - uses : actions/checkout@v4
126109 with :
127110 ref : master
128111 token : ${{ secrets.GITHUB_TOKEN }}
129- - uses : actions/download-artifact@v2
112+ - uses : actions/download-artifact@v4
130113 with :
131114 name : meta
132115 path : .
133116 - name : Use Node.js
134- uses : actions/setup-node@v2
117+ uses : actions/setup-node@v4
135118 with :
136119 node-version : 14
137120 - name : Prepare build
@@ -155,15 +138,15 @@ jobs:
155138 npx vsce package -o ${{ steps.set-version.outputs.name }}.vsix
156139 - name : Upload Release Asset
157140 id : upload-release-asset
158- uses : actions/upload-release-asset@v1
141+ uses : softprops/action-gh-release@v2
159142 if : runner.os == 'Linux'
160143 env :
161144 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
162145 with :
163- upload_url : ${{ github.event.release.upload_url }}
164- asset_path : ${{ steps.set-version.outputs.name }}.vsix
165- asset_name : ${{ steps.set-version.outputs.name }}.vsix
166- asset_content_type : application/zip
146+ tag_name : v ${{ steps.set-version.outputs.version }}
147+ prerelease : ${{ github.event_name != 'release' }}
148+ files : ${{ steps.set-version.outputs.name }}.vsix
149+ token : ${{ secrets.GITHUB_TOKEN }}
167150 - name : Publish to VSCode Marketplace
168151 run : |
169152 [ -n "${{ secrets.VSCE_TOKEN }}" ] && \
0 commit comments