69 lines (56 loc) · 1.9 KB
/
bump-and-release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
name: Bump and Release
on:
push:
branches: [ master ]
env:
NODE_VERSION: 14.x
PERSONAL_ACCESS_TOKEN: ${{ secrets.PAT }}
jobs:
bump-version:
name: Bump Version
runs-on: ubuntu-latest
outputs:
newTag: ${{ steps.version-bump.outputs.newTag }}
steps:
- name: Checkout source code
uses: actions/checkout@v2
- name: Get Current Version
run: cat package.json | python -c 'import json,sys;obj=json.load(sys.stdin);print(obj["version"])'
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v1
with:
node-version: ${{ env.NODE_VERSION }}
- name: Bump Version
id: version-bump
uses: phips28/gh-action-bump-version@8.2.6
with:
tag-prefix: 'v'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get New Version
run: cat package.json | python -c 'import json,sys;obj=json.load(sys.stdin);print(obj["version"])'
- name: Create New Tag
env:
NEW_TAG: ${{ steps.version-bump.outputs.newTag }}
run: echo "new tag $NEW_TAG"
create-release:
name: Create Release
needs: bump-version
if: startsWith(needs.bump-version.outputs.newTag, 'v')
runs-on: ubuntu-latest
steps:
- name: Get tag from previous job
run: echo "Generating release with the ${{needs.bump-version.outputs.newTag}} tag"
- name: Checkout code
uses: actions/checkout@v2
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
# INFO (semih) we need to use personal access token to trigger other workflows
GITHUB_TOKEN: ${{ env.PERSONAL_ACCESS_TOKEN }}
with:
tag_name: ${{needs.bump-version.outputs.newTag}}
release_name: Release ${{needs.bump-version.outputs.newTag}}
draft: false
prerelease: false