-
Notifications
You must be signed in to change notification settings - Fork 0
78 lines (67 loc) · 2.01 KB
/
semantic-release.yml
File metadata and controls
78 lines (67 loc) · 2.01 KB
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
70
71
72
73
74
75
76
77
78
name: Semantic Release
on:
workflow_call:
inputs:
node-version:
required: false
type: string
default: 'lts/*'
package-manager:
required: false
type: string
default: 'npm'
install-dependencies-command:
required: false
type: string
default: 'npm ci'
cache-dependency-path:
required: false
type: string
default: 'package-lock.json'
secrets:
PAT:
required: true
AWS_ACCESS_KEY_ID:
required: false
AWS_SECRET_ACCESS_KEY:
required: false
AWS_DEFAULT_REGION:
required: false
outputs:
version:
description: 'The next release version'
value: ${{ jobs.release.outputs.version }}
jobs:
release:
name: Release using semantic-release config.
runs-on: ubuntu-latest
outputs:
version: ${{ steps.latest-release.outputs.version }}
steps:
- name: Checkout repo with complete history
uses: actions/checkout@v4
with:
token: ${{ secrets.PAT }}
fetch-depth: 0
- name: Set up Node.js #does NOT install dependencies
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
- name: Install dependencies #use cache from previous successful workflow runs if able
run: ${{ inputs.install-dependencies-command }}
- name: Release
id: release
env:
GH_TOKEN: ${{ secrets.PAT }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ vars.AWS_DEFAULT_REGION }}
run: |
npx semantic-release
- name: Get release version
id: latest-release
run: |
RELEASE_VERSION=$(gh release list --repo ${{ github.repository }} | head -n 1 | cut -f 1)
echo "version=$RELEASE_VERSION" >> "$GITHUB_OUTPUT"
env:
GH_TOKEN: ${{ secrets.PAT }}