11name : Release
22
33on :
4- pull_request :
4+ push :
55 branches :
6- - " master"
76 - " ci"
8- - " [0-9]+.[0-9x]+*"
9- paths :
10- - " immutables/_version.py"
117
128jobs :
139 validate-release-request :
1410 runs-on : ubuntu-latest
1511 steps :
16- - name : Validate release PR
17- uses : edgedb/action-release/validate-pr@master
18- id : checkver
19- with :
20- github_token : ${{ secrets.RELEASE_BOT_GITHUB_TOKEN }}
21- version_file : immutables/_version.py
22- require_team : Release Managers
23- require_approval : no
24- version_line_pattern : |
25- __version__\s*=\s*(?:['"])([[:PEP440:]])(?:['"])
26-
27- - name : Stop if not approved
28- if : steps.checkver.outputs.approved != 'true'
29- run : |
30- echo ::error::PR is not approved yet.
31- exit 1
32-
3312 - name : Store release version for later use
3413 env :
35- VERSION : ${{ steps.checkver.outputs.version }}
14+ VERSION : 0.20
3615 run : |
3716 mkdir -p dist/
3817 echo "${VERSION}" > dist/VERSION
3918
40- - uses : actions/upload-artifact@v2
19+ - uses : actions/upload-artifact@v4
4120 with :
4221 name : dist
4322 path : dist/
@@ -52,14 +31,14 @@ jobs:
5231 fetch-depth : 50
5332 submodules : true
5433
55- - uses : actions/setup-python@v4
34+ - uses : actions/setup-python@v5
5635
5736 - name : Build source distribution
5837 run : |
5938 python -m pip install -U setuptools wheel pip
6039 python setup.py sdist
6140
62- - uses : actions/upload-artifact@v3
41+ - uses : actions/upload-artifact@v4
6342 with :
6443 name : dist
6544 path : dist/*.tar.*
@@ -71,10 +50,10 @@ jobs:
7150 include : ${{ steps.set-matrix.outputs.include }}
7251 steps :
7352 - uses : actions/checkout@v3
74- - uses : actions/setup-python@v4
53+ - uses : actions/setup-python@v5
7554 with :
7655 python-version : " 3.x"
77- - run : pip install cibuildwheel==2.15.0
56+ - run : pip install cibuildwheel==2.21.3
7857 - id : set-matrix
7958 run : |
8059 MATRIX_INCLUDE=$(
@@ -119,60 +98,8 @@ jobs:
11998 CIBW_BUILD_VERBOSITY : 1
12099 CIBW_ENVIRONMENT : " IMMU_SKIP_MYPY_TESTS=1"
121100
122- - uses : actions/upload-artifact@v3
101+ - uses : actions/upload-artifact@v4
123102 with :
124103 name : dist
125104 path : wheelhouse/*.whl
126105
127- publish :
128- needs : [build-sdist, build-wheels]
129- runs-on : ubuntu-latest
130-
131- steps :
132- - uses : actions/checkout@v3
133- with :
134- fetch-depth : 5
135- submodules : false
136-
137- - uses : actions/download-artifact@v2
138- with :
139- name : dist
140- path : dist/
141-
142- - name : Extract Release Version
143- id : relver
144- run : |
145- set -e
146- echo ::set-output name=version::$(cat dist/VERSION)
147- rm dist/VERSION
148-
149- - name : Merge and tag the PR
150- uses : edgedb/action-release/merge@master
151- with :
152- github_token : ${{ secrets.RELEASE_BOT_GITHUB_TOKEN }}
153- ssh_key : ${{ secrets.RELEASE_BOT_SSH_KEY }}
154- gpg_key : ${{ secrets.RELEASE_BOT_GPG_KEY }}
155- gpg_key_id : " 5C468778062D87BF!"
156- tag_name : v${{ steps.relver.outputs.version }}
157-
158- - name : Publish Github Release
159- uses : elprans/gh-action-create-release@master
160- env :
161- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
162- with :
163- tag_name : v${{ steps.relver.outputs.version }}
164- release_name : v${{ steps.relver.outputs.version }}
165- target : ${{ github.event.pull_request.base.ref }}
166- body : ${{ github.event.pull_request.body }}
167- draft : false
168-
169- - run : |
170- ls -al dist/
171-
172- - name : Upload to PyPI
173- uses : pypa/gh-action-pypi-publish@master
174- with :
175- user : __token__
176- password : ${{ secrets.PYPI_TOKEN }}
177- # password: ${{ secrets.TEST_PYPI_TOKEN }}
178- # repository_url: https://test.pypi.org/legacy/
0 commit comments