Skip to content

Commit ad9021c

Browse files
committed
Separate sdist build from release workflow
1 parent dff8bfc commit ad9021c

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

.github/workflows/release.yml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,24 @@ permissions:
1616
contents: read
1717

1818
jobs:
19+
sdist:
20+
name: Build sdist
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v6
24+
- name: Install uv
25+
uses: astral-sh/setup-uv@v7
26+
with:
27+
# No need to take cache size for maturin in the release pipeline
28+
enable-cache: "false"
29+
- name: Build sdist
30+
run: uvx maturin sdist -o dist
31+
- name: Upload sdist
32+
uses: actions/upload-artifact@v6
33+
with:
34+
name: wheels-sdist
35+
path: dist/*.tar.gz
36+
1937
build:
2038
name: Build ${{ matrix.target }}
2139
strategy:
@@ -64,17 +82,17 @@ jobs:
6482
echo "/usr/local/opt/gnu-tar/libexec/gnubin" >> $GITHUB_PATH
6583
6684
# Those two will also create target/${{ matrix.target }}/maturin
67-
- name: Build wheel (with sdist)
85+
- name: Build wheel (linux x86_64)
6886
if: matrix.target == 'x86_64-unknown-linux-musl'
6987
run: |
70-
cargo run -- build --release -b bin --sdist -o dist --target ${{ matrix.target }} --features password-storage --compatibility manylinux2010 musllinux_1_1 --compatibility pypi
88+
cargo run -- build --release -b bin -o dist --target ${{ matrix.target }} --features password-storage --compatibility manylinux2010 musllinux_1_1 --compatibility pypi
7189
7290
# ring doesn't support aarch64 windows yet
7391
- name: Build wheel (windows aarch64)
7492
if: matrix.target == 'aarch64-pc-windows-msvc'
7593
run: cargo run -- build --release -b bin -o dist --target ${{ matrix.target }} --no-default-features --features full,native-tls --compatibility pypi
7694

77-
- name: Build wheel (without sdist)
95+
- name: Build wheel
7896
if: ${{ matrix.target != 'x86_64-unknown-linux-musl' && matrix.target != 'aarch64-pc-windows-msvc' }}
7997
run: cargo run -- build --release -b bin -o dist --target ${{ matrix.target }} --features password-storage,static --compatibility pypi
8098

@@ -222,7 +240,7 @@ jobs:
222240
environment:
223241
name: PyPI
224242
url: ${{ steps.set_url.outputs.env_url }}
225-
needs: [build, build-musl]
243+
needs: [sdist, build, build-musl]
226244
steps:
227245
- uses: actions/download-artifact@v7
228246
with:

0 commit comments

Comments
 (0)