-
Notifications
You must be signed in to change notification settings - Fork 8
139 lines (124 loc) · 4.19 KB
/
pypi.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
on: push
jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
if: startsWith(github.ref, 'refs/tags/') # only build on tag pushes
strategy:
matrix:
# macos-13 is an intel runner, macos-14 is apple silicon
os: [ubuntu-latest, macos-13, macos-14, windows-latest] #windows-latest, macos-13, macos-14]
steps:
- uses: actions/checkout@v4
- name: Build wheels
uses: pypa/[email protected]
# env:
# CIBW_SOME_OPTION: value
# ...
# with:
# package-dir: .
# output-dir: wheelhouse
# config-file: "{package}/pyproject.toml"
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl
build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build sdist
run: pipx run build --sdist
- uses: actions/upload-artifact@v4
with:
name: cibw-sdist
path: dist/*.tar.gz
#upload_pypi:
#needs: [build_wheels, build_sdist]
#runs-on: ubuntu-latest
#environment:
#name: pypi
#url: https://pypi.org/p/extrainterpreters/
#permissions:
#id-token: write
#if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
## if: github.event_name == 'release' && github.event.action == 'published'
## or, alternatively, upload to PyPI on every tag starting with 'v' (remove on: release above to use this)
## if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
#steps:
#- uses: actions/download-artifact@v4
#with:
## unpacks all CIBW artifacts into dist/
#pattern: cibw-*
#path: dist
#merge-multiple: true
#- uses: pypa/gh-action-pypi-publish@release/v1
#with:
#repository-url: https://pypi.org/p/extrainterpreters/
## https://upload.pypi.org/legacy/
publish-to-pypi:
name: >-
Publish Python 🐍 distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/extrainterpreters
permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing
steps:
- uses: actions/download-artifact@v4
with:
# unpacks all CIBW artifacts into dist/
pattern: cibw-*
path: dist
merge-multiple: true
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
#github-release:
#name: >-
#Sign the Python 🐍 distribution 📦 with Sigstore
#and upload them to GitHub Release
#environment:
#name: pypi
#needs:
#- publish-to-pypi
#runs-on: ubuntu-latest
#permissions:
#contents: write # IMPORTANT: mandatory for making GitHub Releases
#id-token: write # IMPORTANT: mandatory for sigstore
#steps:
#- name: download APT
#uses: actions/download-artifact@v4
#with:
## unpacks all CIBW artifacts into dist/
#pattern: cibw-*
#path: dist
#merge-multiple: true
#- name: Sign the dists with Sigstore
#uses: sigstore/[email protected]
#with:
#inputs: >-
#./dist/*.tar.gz
#./dist/*.whl
#- name: Create GitHub Release
#env:
#GITHUB_TOKEN: ${{ github.token }}
#run: >-
#gh release create
#'${{ github.ref_name }}'
#--repo '${{ github.repository }}'
#--notes ""
#- name: Upload artifact signatures to GitHub Release
#env:
#GITHUB_TOKEN: ${{ github.token }}
## Upload to GitHub Release using the `gh` CLI.
## `dist/` contains the built packages, and the
## sigstore-produced signatures and certificates.
#run: >-
#gh release upload
#'${{ github.ref_name }}' dist/**
#--repo '${{ github.repository }}'