Skip to content

Commit 8ac380f

Browse files
fix: add in separate publish step
1 parent 523cb96 commit 8ac380f

File tree

1 file changed

+54
-4
lines changed

1 file changed

+54
-4
lines changed

.github/workflows/build_for_pypi.yml

+54-4
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,15 @@ on:
99
description: "Publish to PyPi"
1010

1111
jobs:
12-
build_for_pypi:
13-
permissions:
14-
id-token: write # This is required for requesting the JWT
15-
contents: read # This is required for actions/checkout
12+
build_dist_for_pypi:
1613
runs-on: ${{ matrix.os }}
1714
strategy:
1815
matrix:
1916
os: [ubuntu-latest, windows-latest, macos-13, macos-latest]
2017
steps:
2118
- uses: actions/checkout@v4
2219
with:
20+
persist-credentials: false
2321
submodules: true
2422
- name: Set up Python 3.11
2523
uses: actions/setup-python@v4
@@ -29,6 +27,58 @@ jobs:
2927
uses: pypa/[email protected]
3028
env:
3129
CIBW_SKIP: pp*
30+
- name: Store the distribution packages
31+
uses: actions/upload-artifact@v4
32+
with:
33+
name: python-package-distributions
34+
path: dist/
35+
36+
build_src_for_pypi:
37+
runs-on: ubuntu-latest
38+
steps:
39+
- uses: actions/checkout@v4
40+
with:
41+
persist-credentials: false
42+
submodules: true
43+
- name: Set up Python 3.11
44+
uses: actions/setup-python@v4
45+
with:
46+
python-version: "3.11"
47+
- name: Install deps
48+
run:
49+
pip install -r requirements.txt
50+
pip install build
51+
- name: Build src dist
52+
run: |
53+
python -m build --sdist
54+
- name: Store the distribution packages
55+
uses: actions/upload-artifact@v4
56+
with:
57+
name: python-package-distributions
58+
path: dist/
59+
60+
publish_to_pypi:
61+
needs:
62+
- build_for_pypi
63+
- build_src_for_pypi
64+
permissions:
65+
id-token: write # This is required for requesting the JWT
66+
runs-on: ubuntu-latest
67+
steps:
68+
- name: Download all the dists
69+
uses: actions/download-artifact@v4
70+
with:
71+
name: python-package-distributions
72+
path: dist/
73+
- name: Sign the dists with Sigstore
74+
uses: sigstore/[email protected]
75+
with:
76+
inputs: >-
77+
./dist/*.tar.gz
78+
./dist/*.whl
79+
- name: Display all files in dist/
80+
run: |
81+
ls -al dist/
3282
- name: Publish package to PyPi
3383
if: inputs.publish == true
3484
uses: pypa/gh-action-pypi-publish@release/v1

0 commit comments

Comments
 (0)