Skip to content

Commit c7ef5d5

Browse files
committed
fix(ci): split release workflow - tag on version bump, build on tag push
1 parent cb299b9 commit c7ef5d5

2 files changed

Lines changed: 30 additions & 32 deletions

File tree

.github/workflows/release.yml

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,20 @@ name: Release
22

33
on:
44
push:
5-
branches:
6-
- main
7-
paths:
8-
- 'package.json'
5+
tags:
6+
- 'v*'
97

108
permissions:
119
contents: write
1210

1311
jobs:
14-
check-version:
15-
runs-on: ubuntu-latest
16-
outputs:
17-
version: ${{ steps.check.outputs.version }}
18-
changed: ${{ steps.check.outputs.changed }}
19-
steps:
20-
- uses: actions/checkout@v6
21-
with:
22-
fetch-depth: 2
23-
24-
- name: Check version change
25-
id: check
26-
run: |
27-
CURRENT=$(jq -r .version package.json)
28-
PREVIOUS=$(git show HEAD~1:package.json 2>/dev/null | jq -r .version 2>/dev/null || echo "")
29-
echo "version=${CURRENT}" >> "$GITHUB_OUTPUT"
30-
if [ "$CURRENT" != "$PREVIOUS" ] && [ -n "$CURRENT" ]; then
31-
echo "changed=true" >> "$GITHUB_OUTPUT"
32-
else
33-
echo "changed=false" >> "$GITHUB_OUTPUT"
34-
fi
35-
3612
release:
37-
needs: check-version
38-
if: needs.check-version.outputs.changed == 'true'
3913
runs-on: ubuntu-latest
4014
env:
4115
GOTOOLCHAIN: auto
4216
steps:
4317
- uses: actions/checkout@v6
4418

45-
- uses: actions/setup-go@v5
46-
with:
47-
go-version: '1.25'
48-
4919
- uses: pnpm/action-setup@v4
5020

5121
- uses: grafana/plugin-actions/build-plugin@release

.github/workflows/tag.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Tag
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'package.json'
9+
10+
permissions:
11+
contents: write
12+
13+
jobs:
14+
create-tag:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v6
18+
with:
19+
fetch-depth: 2
20+
21+
- name: Check version change and create tag
22+
run: |
23+
CURRENT=$(jq -r .version package.json)
24+
PREVIOUS=$(git show HEAD~1:package.json 2>/dev/null | jq -r .version 2>/dev/null || echo "")
25+
if [ "$CURRENT" != "$PREVIOUS" ] && [ -n "$CURRENT" ]; then
26+
git tag "v${CURRENT}"
27+
git push origin "v${CURRENT}"
28+
fi

0 commit comments

Comments
 (0)