Skip to content

Commit e17bf2f

Browse files
committed
refactor: start again
1 parent 37a9721 commit e17bf2f

File tree

3 files changed

+79
-53
lines changed

3 files changed

+79
-53
lines changed

.github/workflows/release_pub.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: release_publish
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v[0-9]+.[0-9]+.[0-9]+' # tag-pattern on pub.dev: 'v{{version}}'
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
jobs:
13+
release:
14+
permissions:
15+
id-token: write # Required for authentication using OIDC
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: 📚 Checkout branch
19+
uses: actions/checkout@v4
20+
with:
21+
fetch-depth: 0
22+
token: ${{ secrets.BOT_GITHUB_API_TOKEN }}
23+
24+
# Set up the Dart SDK and provision the OIDC token used for publishing.
25+
- name: 🎯 Setup Dart
26+
uses: dart-lang/setup-dart@v1
27+
28+
- name: 🐦 Install Flutter
29+
uses: subosito/flutter-action@v2
30+
31+
- name: 📦 Install Tools
32+
run: flutter pub global activate melos
33+
34+
- name: 🔧 Bootstrap Workspace
35+
run: melos bootstrap --verbose
36+
37+
- name: 🌵 Dry Run
38+
run: melos run lint:pub
39+
40+
- name: 📢 Release to pub.dev
41+
run: melos run release:pub
42+
43+
- name: 🏷️ Extract Version Info
44+
id: extract_version
45+
shell: bash
46+
run: |
47+
set -euo pipefail
48+
49+
tag_name="${{ github.ref_name }}"
50+
echo "📦 Tag: $tag_name"
51+
52+
# Check if this is a pre-release (contains hyphen after version)
53+
is_prerelease=$([[ $tag_name == *-* ]] && echo true || echo false)
54+
echo "ℹ️ Pre-release: $is_prerelease"
55+
56+
echo "tag=$tag_name" >> "$GITHUB_OUTPUT"
57+
echo "prerelease=$is_prerelease" >> "$GITHUB_OUTPUT"
58+
59+
- name: 🚀 Create GitHub Release
60+
uses: softprops/action-gh-release@v1
61+
with:
62+
generate_release_notes: true
63+
tag_name: ${{ steps.extract_version.outputs.tag }}
64+
prerelease: ${{ steps.extract_version.outputs.prerelease }}
65+
token: ${{ secrets.BOT_GITHUB_API_TOKEN }}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: release_github
1+
name: release_tag
22

33
on:
44
push:
@@ -9,16 +9,19 @@ concurrency:
99
cancel-in-progress: true
1010

1111
jobs:
12-
release:
12+
create_tag:
1313
# Only run this job for commits that indicate a release
1414
if: "${{ startsWith(github.event.head_commit.message, 'chore(repo): release') }}"
1515
runs-on: ubuntu-latest
16+
permissions:
17+
contents: write # Required to create and push tags
1618

1719
steps:
1820
- name: 📚 Checkout branch
1921
uses: actions/checkout@v4
2022
with:
2123
fetch-depth: 0
24+
token: ${{ secrets.BOT_GITHUB_API_TOKEN }}
2225

2326
- name: 🏷️ Extract Version Tag
2427
id: extract_tag
@@ -34,23 +37,20 @@ jobs:
3437
3538
if [[ "$commit_msg" =~ $version_regex ]]; then
3639
version="${BASH_REMATCH[0]}"
37-
is_prerelease=$([[ $version == *-* ]] && echo true || echo false)
38-
3940
echo "✅ Found version tag: $version"
40-
echo "ℹ️ Pre-release: $is_prerelease"
41-
4241
echo "tag=$version" >> "$GITHUB_OUTPUT"
43-
echo "prerelease=$is_prerelease" >> "$GITHUB_OUTPUT"
4442
else
4543
echo "::error ::❌ No SemVer tag found in commit message."
4644
echo "::error ::Expected something like: 'chore(repo): release v1.2.3[-beta]'"
4745
exit 1
4846
fi
4947
50-
- name: 🚀 Create GitHub Release
51-
uses: softprops/action-gh-release@v1
52-
with:
53-
generate_release_notes: true
54-
tag_name: ${{ steps.extract_tag.outputs.tag }}
55-
prerelease: ${{ steps.extract_tag.outputs.prerelease }}
56-
token: ${{ secrets.BOT_GITHUB_API_TOKEN }}
48+
- name: 🚀 Create and Push Tag
49+
shell: bash
50+
run: |
51+
git config user.name "Stream SDK Bot"
52+
git config user.email "[email protected]"
53+
54+
echo "Creating and pushing tag: ${{ steps.extract_tag.outputs.tag }}"
55+
git tag ${{ steps.extract_tag.outputs.tag }}
56+
git push origin ${{ steps.extract_tag.outputs.tag }}

0 commit comments

Comments
 (0)