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 :
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