11name : Releases
22
33on :
4- push :
5- branches :
6- - main
7- - automate-release
8- tags :
9- - ' *.*.*'
4+ workflow_call :
105
116permissions :
127 contents : read
@@ -18,23 +13,29 @@ jobs:
1813 contents : write
1914 security-events : write
2015
16+ outputs :
17+ release_id : ${{ steps.release_info.outputs.tag }}
18+
2119 steps :
20+ - uses : step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
21+ with :
22+ egress-policy : audit
2223 - uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5.0.0
23-
24- - name : Setup Python
25- uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
24+ - uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
2625 with :
2726 python-version : ' 3.13'
2827
2928 - name : Determine release info
3029 id : release_info
3130 run : |
32- if [[ "${GITHUB_REF}" == "refs/heads/automate-release" ]]; then
33- TAG="latest"
34- else
35- TAG="${GITHUB_REF#refs/tags/}"
36- fi
37- echo "tag=$TAG" >> $GITHUB_OUTPUT
31+ if [[ "${GITHUB_REF}" == "refs/heads/automate-release" ]]; then
32+ TAG="latest"
33+ elif [[ "${GITHUB_REF}" == refs/tags/* ]]; then
34+ TAG="${GITHUB_REF#refs/tags/}"
35+ else
36+ TAG=""
37+ fi
38+ echo "tag=$TAG" >> $GITHUB_OUTPUT
3839
3940 - name : Update latest tag
4041 if : github.ref == 'refs/heads/automate-release'
@@ -45,11 +46,13 @@ jobs:
4546 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4647
4748 - name : Generate release notes
49+ if : ${{ steps.release_info.outputs.tag != '' }}
4850 id : notes
4951 run : |
5052 python script/create_release_notes.py
5153
5254 - name : Create release
55+ if : ${{ steps.release_info.outputs.tag != '' }}
5356 uses : softprops/action-gh-release@5122b4edc95f85501a71628a57dc180a03ec7588 # v2.5.0
5457 with :
5558 tag_name : ${{ steps.release_info.outputs.tag }}
0 commit comments