Skip to content

Commit 4e45b1f

Browse files
maxprilutskiyclaude
andcommitted
fix: only run release steps when new version is needed
- Added check to determine if semantic-release will create a new version - Only run build, PyPI publish, and GitHub release steps when needed - Prevents workflow failures when no release is required 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 749aa59 commit 4e45b1f

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

.github/workflows/release.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,22 +77,37 @@ jobs:
7777
python -m pip install --upgrade pip
7878
pip install python-semantic-release build
7979
80+
- name: Check if release needed
81+
id: check_release
82+
env:
83+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
84+
run: |
85+
if semantic-release version --print | grep -q "No release will be made"; then
86+
echo "release_needed=false" >> $GITHUB_OUTPUT
87+
else
88+
echo "release_needed=true" >> $GITHUB_OUTPUT
89+
fi
90+
8091
- name: Run semantic release (version)
92+
if: steps.check_release.outputs.release_needed == 'true'
8193
env:
8294
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8395
run: |
8496
semantic-release version --no-push
8597
8698
- name: Build package
99+
if: steps.check_release.outputs.release_needed == 'true'
87100
run: |
88101
python -m build
89102
90103
- name: Publish to PyPI
104+
if: steps.check_release.outputs.release_needed == 'true'
91105
uses: pypa/gh-action-pypi-publish@release/v1
92106
with:
93107
print-hash: true
94108

95109
- name: Create GitHub release
110+
if: steps.check_release.outputs.release_needed == 'true'
96111
env:
97112
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
98113
run: |

0 commit comments

Comments
 (0)