@@ -91,18 +91,27 @@ jobs:
9191 rm -rf /tmp/.buildx-cache
9292 mv /tmp/.buildx-cache-new /tmp/.buildx-cache
9393
94+ - name : Artifact name
95+ id : artifact-name
96+ # We can't have colons in the upload name of the artifact, so we convert
97+ # e.g. `debian:sid` to `sid`.
98+ env :
99+ DISTRO : ${{ matrix.distro }}
100+ run : |
101+ echo "ARTIFACT_NAME=${DISTRO#*:}" >> "$GITHUB_OUTPUT"
102+
94103 - name : Upload debs as artifacts
95- uses : actions/upload-artifact@v3 # Don't upgrade to v4; broken: https://github.com/actions/upload-artifact#breaking-changes
104+ uses : actions/upload-artifact@v4
96105 with :
97- name : debs
106+ name : debs-${{ steps.artifact-name.outputs.ARTIFACT_NAME }}
98107 path : debs/*
99108
100109 build-wheels :
101110 name : Build wheels on ${{ matrix.os }} for ${{ matrix.arch }}
102111 runs-on : ${{ matrix.os }}
103112 strategy :
104113 matrix :
105- os : [ubuntu-20 .04, macos-12 ]
114+ os : [ubuntu-22 .04, macos-13 ]
106115 arch : [x86_64, aarch64]
107116 # is_pr is a flag used to exclude certain jobs from the matrix on PRs.
108117 # It is not read by the rest of the workflow.
@@ -112,9 +121,9 @@ jobs:
112121 exclude :
113122 # Don't build macos wheels on PR CI.
114123 - is_pr : true
115- os : " macos-12 "
124+ os : " macos-13 "
116125 # Don't build aarch64 wheels on mac.
117- - os : " macos-12 "
126+ - os : " macos-13 "
118127 arch : aarch64
119128 # Don't build aarch64 wheels on PR CI.
120129 - is_pr : true
@@ -144,7 +153,7 @@ jobs:
144153
145154 - name : Only build a single wheel on PR
146155 if : startsWith(github.ref, 'refs/pull/')
147- run : echo "CIBW_BUILD="cp38 -manylinux_${{ matrix.arch }}"" >> $GITHUB_ENV
156+ run : echo "CIBW_BUILD="cp39 -manylinux_${{ matrix.arch }}"" >> $GITHUB_ENV
148157
149158 - name : Build wheels
150159 run : python -m cibuildwheel --output-dir wheelhouse
@@ -156,9 +165,9 @@ jobs:
156165 CARGO_NET_GIT_FETCH_WITH_CLI : true
157166 CIBW_ENVIRONMENT_PASS_LINUX : CARGO_NET_GIT_FETCH_WITH_CLI
158167
159- - uses : actions/upload-artifact@v3 # Don't upgrade to v4; broken: https://github.com/actions/upload-artifact#breaking-changes
168+ - uses : actions/upload-artifact@v4
160169 with :
161- name : Wheel
170+ name : Wheel-${{ matrix.os }}-${{ matrix.arch }}
162171 path : ./wheelhouse/*.whl
163172
164173 build-sdist :
@@ -177,7 +186,7 @@ jobs:
177186 - name : Build sdist
178187 run : python -m build --sdist
179188
180- - uses : actions/upload-artifact@v3 # Don't upgrade to v4; broken: https://github.com/actions/upload-artifact#breaking-changes
189+ - uses : actions/upload-artifact@v4
181190 with :
182191 name : Sdist
183192 path : dist/*.tar.gz
@@ -194,17 +203,23 @@ jobs:
194203 runs-on : ubuntu-latest
195204 steps :
196205 - name : Download all workflow run artifacts
197- uses : actions/download-artifact@v3 # Don't upgrade to v4, it should match upload-artifact
206+ uses : actions/download-artifact@v4
198207 - name : Build a tarball for the debs
199- run : tar -cvJf debs.tar.xz debs
208+ # We need to merge all the debs uploads into one folder, then compress
209+ # that.
210+ run : |
211+ mkdir debs
212+ mv debs*/* debs/
213+ tar -cvJf debs.tar.xz debs
200214 - name : Attach to release
201- uses : softprops/action-gh-release@a929a66f232c1b11af63782948aa2210f981808a # PR#109
215+ # Pinned to work around https://github.com/softprops/action-gh-release/issues/445
216+ 202217 env :
203218 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
204219 with :
205220 files : |
206221 Sdist/*
207- Wheel/*
222+ Wheel* /*
208223 debs.tar.xz
209224 # if it's not already published, keep the release as a draft.
210225 draft : true
0 commit comments