1
1
name : Release
2
2
3
3
on :
4
- pull_request :
4
+ push :
5
5
branches :
6
- - " master"
7
6
- " ci"
8
- - " [0-9]+.[0-9x]+*"
9
- paths :
10
- - " immutables/_version.py"
11
7
12
8
jobs :
13
9
validate-release-request :
14
10
runs-on : ubuntu-latest
15
11
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
-
33
12
- name : Store release version for later use
34
13
env :
35
- VERSION : ${{ steps.checkver.outputs.version }}
14
+ VERSION : 0.20
36
15
run : |
37
16
mkdir -p dist/
38
17
echo "${VERSION}" > dist/VERSION
39
18
40
- - uses : actions/upload-artifact@v2
19
+ - uses : actions/upload-artifact@v4
41
20
with :
42
21
name : dist
43
22
path : dist/
@@ -52,14 +31,14 @@ jobs:
52
31
fetch-depth : 50
53
32
submodules : true
54
33
55
- - uses : actions/setup-python@v4
34
+ - uses : actions/setup-python@v5
56
35
57
36
- name : Build source distribution
58
37
run : |
59
38
python -m pip install -U setuptools wheel pip
60
39
python setup.py sdist
61
40
62
- - uses : actions/upload-artifact@v3
41
+ - uses : actions/upload-artifact@v4
63
42
with :
64
43
name : dist
65
44
path : dist/*.tar.*
@@ -71,10 +50,10 @@ jobs:
71
50
include : ${{ steps.set-matrix.outputs.include }}
72
51
steps :
73
52
- uses : actions/checkout@v3
74
- - uses : actions/setup-python@v4
53
+ - uses : actions/setup-python@v5
75
54
with :
76
55
python-version : " 3.x"
77
- - run : pip install cibuildwheel==2.15.0
56
+ - run : pip install cibuildwheel==2.21.3
78
57
- id : set-matrix
79
58
run : |
80
59
MATRIX_INCLUDE=$(
@@ -119,60 +98,8 @@ jobs:
119
98
CIBW_BUILD_VERBOSITY : 1
120
99
CIBW_ENVIRONMENT : " IMMU_SKIP_MYPY_TESTS=1"
121
100
122
- - uses : actions/upload-artifact@v3
101
+ - uses : actions/upload-artifact@v4
123
102
with :
124
103
name : dist
125
104
path : wheelhouse/*.whl
126
105
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