Skip to content

Commit cf317be

Browse files
update release wf
1 parent dab0f8c commit cf317be

File tree

1 file changed

+35
-11
lines changed

1 file changed

+35
-11
lines changed

.github/workflows/release.yaml

+35-11
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ on:
1717
required: false
1818
default: ''
1919

20+
schedule:
21+
- cron: '10 7 * * 1'
22+
- cron: '10 8 * * 1'
23+
2024
concurrency: trigger-release
2125

2226
env:
@@ -44,7 +48,7 @@ jobs:
4448
fi
4549
4650
- name: Checkout repository
47-
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
51+
uses: actions/checkout@v4
4852
with:
4953
token: ${{ secrets.WORKFLOW_USER_GH_TOKEN }}
5054

@@ -60,12 +64,31 @@ jobs:
6064
with:
6165
prefix: ${{ env.TAG_PREFIX }}
6266

67+
- name: Get number of commits since current release
68+
id: commits
69+
if: github.event_name == 'schedule'
70+
run: |
71+
git fetch --tags
72+
echo "count=$(git rev-list --count --no-merges ${{ steps.get_current_release.outputs.tag }}..HEAD --before=1.hour)" >> $GITHUB_OUTPUT
73+
6374
- name: Determine target release
6475
id: get_target_release
6576
run: |
77+
create_release=true
6678
desired_version=${{ inputs.desired-version }}
6779
current_version=${{ steps.get_current_release.outputs.version }}
68-
version_bump=${{ inputs.version-bump }}
80+
81+
if "${{ github.event_name == 'schedule' }}"; then
82+
version_bump=patch
83+
commits_count=${{ steps.commits.outputs.count }}
84+
85+
if [[ $commits_count -eq 0 ]]; then
86+
create_release=false
87+
>&2 echo "There are no commits since latest release found, nothing to do."
88+
fi
89+
else
90+
version_bump=${{ inputs.version-bump }}
91+
fi
6992
7093
if [ -z "$desired_version" ]; then
7194
case $version_bump in
@@ -103,17 +126,21 @@ jobs:
103126
104127
echo "Target version: $version"
105128
echo "Target tag: $tag"
129+
echo "Create release: $create_release"
106130
echo "version=$version" >> $GITHUB_OUTPUT
107131
echo "tag=$tag" >> $GITHUB_OUTPUT
132+
echo "create_release=$create_release" >> $GITHUB_OUTPUT
108133
109134
- name: Determine target commit
135+
if: steps.get_target_release.outputs.create_release == 'true'
110136
id: get_target_commit
111137
run: |
112138
sha=$(git rev-parse HEAD)
113139
echo "Target commit: $sha"
114140
echo "sha=$sha" >> $GITHUB_OUTPUT
115141
116142
- name: Wait for check suites to complete
143+
if: steps.get_target_release.outputs.create_release == 'true'
117144
uses: sap-contributions/await-check-suites@master
118145
with:
119146
ref: ${{ steps.get_target_commit.outputs.sha }}
@@ -123,12 +150,9 @@ jobs:
123150
appSlugFilter: github-actions
124151

125152
- name: Create Release
126-
uses: softprops/action-gh-release@v1
127-
with:
128-
tag_name: ${{ steps.get_target_release.outputs.tag }}
129-
draft: false
130-
prerelease: false
131-
target_commitish: ${{ steps.get_target_commit.outputs.sha }}
132-
token: ${{ secrets.WORKFLOW_USER_GH_TOKEN }}
133-
generate_release_notes: false
134-
153+
if: steps.get_target_release.outputs.create_release == 'true'
154+
env:
155+
GH_TOKEN: ${{ secrets.WORKFLOW_USER_GH_TOKEN }}
156+
run: |
157+
gh release create ${{ steps.get_target_release.outputs.tag }} \
158+
--target "${{ steps.get_target_commit.outputs.sha }}"

0 commit comments

Comments
 (0)