1- name : Auto Release on '#new-release' commit
1+ name : Auto Release
22
33on :
44 push :
@@ -25,39 +25,26 @@ jobs:
2525 with :
2626 fetch-depth : 0
2727
28- - name : Check commit message for '#new-release'
29- id : check_message
28+ - name : Create tag and release
29+ env :
30+ GITHUB_TOKEN : ${{ secrets.PAT_TOKEN }}
3031 run : |
31- commit_message=$(git log --format=%B -n 1)
32+ # Extract version from OpenAPI spec
33+ openapi_version=$(grep '"version":' generator/openapi.json | sed 's/.*"version": *"\([^"]*\)".*/\1/')
3234
33- if echo "$commit_message" | grep -q '#new-release'; then
34- # Extract version from OpenAPI spec
35- openapi_version=$(grep '"version":' generator/openapi.json | sed 's/.*"version": *"\([^"]*\)".*/\1/')
35+ if [ -n "$openapi_version" ]; then
36+ echo "Creating release $openapi_version"
37+ git config --global user.name 'GitHub Actions Bot'
38+ git config --global user.email '<>'
39+ git tag -a "$openapi_version" -m "Release $openapi_version"
40+ git push origin "$openapi_version"
3641
37- if [ -n "$openapi_version" ]; then
38- echo "Creating release $openapi_version"
39- git config --global user.name 'GitHub Actions Bot'
40- git config --global user.email '[email protected] ' 41- git tag -a "$openapi_version" -m "Release $openapi_version"
42- git push origin "$openapi_version"
43- echo "new_release=$openapi_version" >> $GITHUB_OUTPUT
44- else
45- echo "Could not extract version from OpenAPI specification. Skipping release."
46- exit 1
47- fi
42+ # Create GitHub release
43+ gh release create "$openapi_version" \
44+ --repo="$GITHUB_REPOSITORY" \
45+ --title="$openapi_version" \
46+ --generate-notes
4847 else
49- echo "Commit does not include '#new-release' . Skipping release."
50- exit 0
48+ echo "Could not extract version from OpenAPI specification . Skipping release."
49+ exit 1
5150 fi
52-
53- - name : Create release
54- if : steps.check_message.outputs.new_release
55- env :
56- GITHUB_TOKEN : ${{ secrets.PAT_TOKEN }}
57- run : |
58- tag="${{ steps.check_message.outputs.new_release }}"
59- title="${tag#v}"
60- gh release create "$tag" \
61- --repo="$GITHUB_REPOSITORY" \
62- --title="$title" \
63- --generate-notes
0 commit comments