@@ -3,6 +3,13 @@ name: Release Process
33on :
44 push :
55 branches : [master]
6+ workflow_dispatch :
7+ inputs :
8+ force_release :
9+ description : ' Force release even if not from dev merge'
10+ required : false
11+ default : ' false'
12+ type : boolean
613
714jobs :
815 # Check if this push is from a dev branch merge
@@ -17,17 +24,36 @@ jobs:
1724 - name : Check if merge is from dev branch
1825 id : check
1926 run : |
20- echo "Checking merge source..."
21- echo "Commit message: ${{ github.event.head_commit.message }}"
22-
23- # Check if this is a merge commit from dev
24- if [[ "${{ github.event.head_commit.message }}" == *"Merge pull request"* ]] && \
25- [[ "${{ github.event.head_commit.message }}" == *"/dev"* ]]; then
26- echo "✅ Detected merge from dev branch"
27- echo "is-dev-merge=true" >> $GITHUB_OUTPUT
27+ echo "Event: ${{ github.event_name }}"
28+
29+ if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
30+ echo "🔧 Manual workflow dispatch triggered"
31+ if [[ "${{ github.event.inputs.force_release }}" == "true" ]]; then
32+ echo "✅ Force release enabled - proceeding"
33+ echo "is-dev-merge=true" >> $GITHUB_OUTPUT
34+ else
35+ echo "⚠️ Manual trigger without force_release - checking current branch is master"
36+ if [[ "${{ github.ref_name }}" == "master" ]]; then
37+ echo "✅ On master branch - proceeding with manual release"
38+ echo "is-dev-merge=true" >> $GITHUB_OUTPUT
39+ else
40+ echo "❌ Not on master branch for manual release"
41+ echo "is-dev-merge=false" >> $GITHUB_OUTPUT
42+ fi
43+ fi
2844 else
29- echo "❌ Not a dev branch merge - skipping release"
30- echo "is-dev-merge=false" >> $GITHUB_OUTPUT
45+ echo "Checking merge source..."
46+ echo "Commit message: ${{ github.event.head_commit.message }}"
47+
48+ # Check if this is a merge commit from dev
49+ if [[ "${{ github.event.head_commit.message }}" == *"Merge pull request"* ]] && \
50+ [[ "${{ github.event.head_commit.message }}" == *"/dev"* ]]; then
51+ echo "✅ Detected merge from dev branch"
52+ echo "is-dev-merge=true" >> $GITHUB_OUTPUT
53+ else
54+ echo "❌ Not a dev branch merge - skipping release"
55+ echo "is-dev-merge=false" >> $GITHUB_OUTPUT
56+ fi
3157 fi
3258
3359 # Main release job with manual approval
0 commit comments