Skip to content

Commit ce13337

Browse files
authored
ci: don't pin semantic-release versions (#563)
* docs: links to "rate limit" issues
1 parent 8dff578 commit ce13337

File tree

1 file changed

+34
-17
lines changed

1 file changed

+34
-17
lines changed

‎.github/workflows/python.yaml

Lines changed: 34 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ jobs:
5959

6060
# https://github.com/marketplace/actions/coveralls-python
6161
coveralls_finish:
62+
name: Coveralls (finish)
6263
needs: build
6364
runs-on: ubuntu-latest
6465
steps:
@@ -69,7 +70,7 @@ jobs:
6970

7071
# This cannot be a separate workflow yet, because a workflow cannot depend on another workflow. See this topic:
7172
# Depend on another workflow - Code to Cloud / GitHub Actions - GitHub Support Community
72-
# https://github.community/t/depend-on-another-workflow/16311
73+
# https://github.com/orgs/community/discussions/26632
7374
release:
7475
needs: coveralls_finish
7576
# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsif
@@ -85,36 +86,45 @@ jobs:
8586
- name: Add to PATH
8687
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
8788
- name: Install pip/setuptools first
89+
run: python3 -m pip install --upgrade pip setuptools
90+
- name: Install pre-commit bumpversion twine
91+
run: python3 -m pip install --upgrade poetry pre-commit bumpversion twine
92+
- name: Display versions
8893
run: |
94+
node --version
95+
npm --version
8996
python --version
9097
python3 --version
9198
python3 -m pip --version
92-
python3 -m pip install --upgrade pip setuptools
93-
- name: Install pre-commit bumpversion twine
94-
run: |
95-
python3 -m pip install --upgrade poetry pre-commit bumpversion twine
9699
pre-commit --version
97100
twine --version
98101
python3 -m pip freeze
99102
- name: Semantic Release
100-
uses: cycjimmy/semantic-release-action@v2
103+
# https://github.com/marketplace/actions/action-for-semantic-release#semantic_version
104+
uses: cycjimmy/semantic-release-action@v3
105+
id: semantic # Need an `id` for output variables
101106
with:
102-
# https://github.com/marketplace/actions/action-for-semantic-release#semantic_version
107+
# Don't pin the version here... it didn't work
103108
# https://github.com/semantic-release/semantic-release/releases
104-
semantic_version: 18.0.1
109+
# semantic_version: 20.0.0
105110

106111
# To debug, see these options:
107112
# https://github.com/marketplace/actions/action-for-semantic-release#dry_run
113+
# dry_run: true
114+
108115
# https://github.com/marketplace/actions/action-for-semantic-release#branches
116+
# branches: |
117+
# ['you-debug-branch-name-here']
109118

110119
# https://github.com/marketplace/actions/action-for-semantic-release#extra_plugins
111120
# https://github.com/semantic-release/changelog/releases
112121
# https://github.com/semantic-release/git/releases
113122
# https://github.com/semantic-release/exec/releases
123+
# Don't pin versions anymore; let's see how this goes for the next releases
114124
extra_plugins: |
115-
@semantic-release/changelog@6.0.1
116-
@semantic-release/git@10.0.1
117-
@semantic-release/exec@6.0.3
125+
@semantic-release/changelog
126+
@semantic-release/git
127+
@semantic-release/exec
118128
env:
119129
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
120130
PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }}
@@ -123,9 +133,16 @@ jobs:
123133
- name: New release published
124134
if: steps.semantic.outputs.new_release_published == 'true'
125135
run: |
126-
echo ${{ steps.semantic.outputs.new_release_version }}
127-
echo ${{ steps.semantic.outputs.new_release_major_version }}
128-
echo ${{ steps.semantic.outputs.new_release_minor_version }}
129-
echo ${{ steps.semantic.outputs.new_release_patch_version }}
130-
echo ${{ steps.semantic.outputs.new_release_channel }}
131-
echo ${{ steps.semantic.outputs.new_release_notes }}
136+
echo "Release = ${{ steps.semantic.outputs.new_release_version }}"
137+
echo "Major = ${{ steps.semantic.outputs.new_release_major_version }}"
138+
echo "Minor = ${{ steps.semantic.outputs.new_release_minor_version }}"
139+
echo "Patch = ${{ steps.semantic.outputs.new_release_patch_version }}"
140+
echo "Channel = ${{ steps.semantic.outputs.new_release_channel }}"
141+
echo "Notes = ${{ steps.semantic.outputs.new_release_notes }}"
142+
143+
# TODO: the workflow might fail with "rate limit" error but the release itself apparently works.
144+
# The follow-up actions are not executed though. See:
145+
# HttpError: You have exceeded a secondary rate limit https://github.com/semantic-release/semantic-release/issues/2204
146+
# Rate limit reached on big release https://github.com/semantic-release/semantic-release/issues/843
147+
# replace custom throttling code with @octokit/plugin-throttling https://github.com/semantic-release/github/issues/299
148+
# fix: use retry and throttle octokit plugins https://github.com/semantic-release/github/pull/487

0 commit comments

Comments
 (0)