1111 - ' requirements.txt'
1212 - ' setup.py'
1313 - ' pyproject.toml'
14+ - ' generator/openapi.json'
1415
1516permissions :
1617 contents : write
@@ -21,23 +22,27 @@ jobs:
2122 steps :
2223 - name : Checkout repository
2324 uses : actions/checkout@v3
25+ with :
26+ fetch-depth : 0
2427
2528 - name : Check commit message for '#new-release'
2629 id : check_message
2730 run : |
2831 commit_message=$(git log --format=%B -n 1)
2932
3033 if echo "$commit_message" | grep -q '#new-release'; then
31- new_release=$(echo "$commit_message" | sed -n 's/.*<new-release:\([^>]*\)>.*$/\1/p')
32- if [ -n "$new_release" ]; then
33- echo "Creating release $new_release"
34+ # Extract version from OpenAPI spec
35+ openapi_version=$(grep '"version":' generator/openapi.json | sed 's/.*"version": *"\([^"]*\)".*/\1/')
36+
37+ if [ -n "$openapi_version" ]; then
38+ echo "Creating release $openapi_version"
3439 git config --global user.name 'GitHub Actions Bot'
35- git config --global user.email '<> '
36- git tag -a "$new_release " -m "Release $new_release "
37- git push origin "$new_release "
38- echo "::set-output name= new_release::$new_release"
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
3944 else
40- echo "Commit includes '#new-release' but no tag found in <new-release:tag> format . Skipping release."
45+ echo "Could not extract version from OpenAPI specification . Skipping release."
4146 exit 1
4247 fi
4348 else
4651 fi
4752
4853 - name : Create release
54+ if : steps.check_message.outputs.new_release
4955 env :
50- GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
56+ GITHUB_TOKEN : ${{ secrets.PAT_TOKEN }}
5157 run : |
5258 tag="${{ steps.check_message.outputs.new_release }}"
5359 title="${tag#v}"
0 commit comments