@@ -10,12 +10,29 @@ jobs:
1010 os : [ubuntu-latest, windows-latest, macOS-latest]
1111 steps :
1212 - uses : actions/checkout@master
13+ - run : git fetch --depth=1 origin +refs/tags/*:refs/tags/*
1314 - name : Start xvfb
1415 if : runner.os == 'Linux'
1516 run : |
1617 set -e
1718 /usr/bin/Xvfb :10 -ac >> /tmp/Xvfb.out 2>&1 &
1819 disown -ar
20+ - name : Set an output
21+ id : set-version
22+ if : runner.os == 'Linux'
23+ run : |
24+ set -x
25+ VERSION=$(jq -r '.version' package.json | cut -d- -f1)
26+ CHANGELOG=$(cat CHANGELOG.md | sed -n "/## \[${VERSION}\]/,/## /p" | sed '/^$/d;1d;$d')
27+ CHANGELOG="${CHANGELOG//$'\n'/'%0A'}"
28+ echo ::set-output name=changelog::$CHANGELOG
29+ VERSION+=-beta
30+ git tag -l | cat
31+ VERSION+=.$(($(git tag -l "v$VERSION.*" 2>/dev/null | tail -1 | cut -d. -f4)+1))
32+ echo ::set-output name=version::$VERSION
33+ echo ::set-output name=name::$(jq -r '.name' package.json)-$VERSION
34+ tmp=$(mktemp)
35+ jq --arg version "$VERSION" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
1936 - name : Use Node.js
2037 uses : actions/setup-node@master
2138 with :
@@ -25,36 +42,33 @@ jobs:
2542 - run : npm run test
2643 env :
2744 DISPLAY : :10
28- - name : Set an output
29- id : get-version
30- if : runner.os == 'Linux'
31- run : |
32- echo ::set-output name=version::$(jq -r '.version' package.json | cut -d- -f1)-B$(date -u "+%Y%m%d")
33- echo ::set-output name=name::$(jq -r '.name+"-"+.version' package.json | cut -d- -f1-3)-B$(date -u "+%Y%m%d")
3445 - name : Build package
3546 if : runner.os == 'Linux'
3647 run : |
3748 mkdir dist
38- ./node_modules/.bin/vsce package -o ./dist/${{ steps.get -version.outputs.name }}.vsix
49+ ./node_modules/.bin/vsce package -o ./dist/${{ steps.set -version.outputs.name }}.vsix
3950 - name : Create Release
4051 id : create_release
41- uses : actions/create-release@v1
52+ uses : actions/create-release@master
4253 if : runner.os == 'Linux'
4354 env :
4455 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4556 with :
46- tag_name : v${{ steps.get -version.outputs.version }}
47- release_name : v${{ steps.get -version.outputs.version }}
57+ tag_name : v${{ steps.set -version.outputs.version }}
58+ release_name : v${{ steps.set -version.outputs.version }}
4859 draft : false
4960 prerelease : true
61+ body : |
62+ Changes in this release
63+ - test
5064 - name : Upload Release Asset
51- id : upload-release-asset
65+ id : upload-release-asset
5266 uses : actions/upload-release-asset@v1.0.1
5367 if : runner.os == 'Linux'
5468 env :
5569 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
5670 with :
5771 upload_url : ${{ steps.create_release.outputs.upload_url }}
58- asset_path : ./dist/${{ steps.get -version.outputs.name }}.vsix
59- asset_name : ${{ steps.get -version.outputs.name }}.vsix
60- asset_content_type : application/zip
72+ asset_path : ./dist/${{ steps.set -version.outputs.name }}.vsix
73+ asset_name : ${{ steps.set -version.outputs.name }}.vsix
74+ asset_content_type : application/zip
0 commit comments