1- name : Build wheels
1+ name : Build and upload wheels
22
33on :
44 workflow_dispatch :
5- pull_request :
6- push :
7- branches :
8- - maya/modernize-build
9- release :
10- types :
11- - published
5+ inputs :
6+ job :
7+ description : " Job to run"
8+ required : true
9+ default : " build_wheels"
10+ options :
11+ - build_wheels
12+ - publish_test
1213
1314jobs :
1415 build_wheels :
@@ -17,20 +18,41 @@ jobs:
1718 strategy :
1819 matrix :
1920 # macos-13 is an intel runner, macos-14 is apple silicon
20- os : [ubuntu-latest, windows-latest, macos-13, macos-14]
21+ os : [ubuntu-latest, macos-13, macos-14]
2122
2223 steps :
24+ - uses : actions/setup-python@v5
25+ with :
26+ python-version : 3.8
27+ if : runner.os == 'macOS' && runner.arch == 'ARM64'
28+
2329 - uses : actions/checkout@v4
30+ with :
31+ fetch-depth : 0 # Fetch full history, necessary for git describe in setup.py
2432
25- - name : Print status
26- run : |
27- echo "Building wheels for ${{ matrix.os }}"
28- pwd
29- ls
30- git --help
31- git describe --help
33+ - name : Checkout charm_src # is this best practice? should we use a submodule?
34+ uses : actions/checkout@v4
35+ with :
36+ repository : charmplusplus/charm
37+ token : ${{ secrets.GITHUB_TOKEN }}
38+ path : charm_src/charm
39+ fetch-depth : 0 # Fetch full history, necessary for commit_str parsing in setup.py
40+ with :
41+ fetch-depth : 0 # Fetch full history, necessary for git describe in setup.py
42+
43+ - name : Checkout charm_src # is this best practice? should we use a submodule?
44+ uses : actions/checkout@v4
45+ with :
46+ repository : charmplusplus/charm
47+ token : ${{ secrets.GITHUB_TOKEN }}
48+ path : charm_src/charm
49+ fetch-depth : 0 # Fetch full history, necessary for commit_str parsing in setup.py
3250
3351 - name : Build wheels
52+ env :
53+ CIBW_SKIP : " pp* *-manylinux_i686 *-manylinux_ppc64le *-manylinux_s390x *musllinux_*"
54+ env :
55+ CIBW_SKIP : " pp* *-manylinux_i686 *-manylinux_ppc64le *-manylinux_s390x *musllinux_*"
3456 uses : pypa/cibuildwheel@v2.20.0
3557 with :
3658 package-dir : .
4062 with :
4163 name : cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
4264 path : ./wheelhouse/*.whl
65+
66+ publish_test :
67+ name : Publish Python 🐍 distribution 📦 to TestPyPI
68+ needs :
69+ - build
70+ runs-on : ubuntu-latest
71+
72+ environment :
73+ name : testpypi
74+ url : https://test.pypi.org/p/charm4py
75+
76+ permissions :
77+ id-token : write # IMPORTANT: mandatory for trusted publishing
78+
79+ steps :
80+ - name : Download all the dists
81+ uses : actions/download-artifact@v3
82+ with :
83+ name : python-package-distributions
84+ path : dist/
85+ - name : Publish distribution 📦 to TestPyPI
86+ uses : pypa/gh-action-pypi-publish@release/v1
87+ with :
88+ repository-url : https://test.pypi.org/legacy/
0 commit comments