|
12 | 12 | jobs: |
13 | 13 | sdist: |
14 | 14 | name: sdist |
15 | | - runs-on: ubuntu-latest |
| 15 | + runs-on: ubuntu-24.04 |
16 | 16 | steps: |
17 | | - - uses: actions/checkout@v2 |
18 | | - - uses: actions/setup-python@v2 |
| 17 | + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |
| 18 | + - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 |
| 19 | + with: |
| 20 | + python-version: '3.11' |
19 | 21 | - name: Create sdist |
20 | 22 | run: | |
21 | 23 | python -m pip install --upgrade pip setuptools |
22 | 24 | python setup.py sdist |
23 | 25 | shell: bash |
24 | | - - name: Directory listing |
25 | | - run: ls -lh dist/dm-tree*.tar.gz |
| 26 | + - name: List output directory |
| 27 | + run: ls -lh dist/dm_tree*.tar.gz |
26 | 28 | shell: bash |
27 | | - - uses: actions/upload-artifact@v2 |
| 29 | + - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 |
28 | 30 | if: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'release' && github.event.action == 'created') }} |
29 | 31 | with: |
30 | | - name: dm-tree-${{ github.workflow }}-${{ github.run_number }} |
31 | | - path: dist/dm-tree*.tar.gz |
32 | | - |
33 | | - wheel-x86_64: |
34 | | - strategy: |
35 | | - matrix: |
36 | | - os: [windows-latest, ubuntu-latest, macos-latest] |
37 | | - python_tag: [cp38, cp39, cp310, cp311, cp312] |
38 | | - include: |
39 | | - - os: windows-latest |
40 | | - os_tag: win_amd64 |
41 | | - - os: ubuntu-latest |
42 | | - os_tag: manylinux_x86_64 |
43 | | - - os: macos-latest |
44 | | - os_tag: macosx_x86_64 |
| 32 | + name: dm-tree-sdist |
| 33 | + path: dist/dm_tree*.tar.gz |
45 | 34 |
|
46 | | - name: "wheel: ${{ matrix.python_tag }}-${{ matrix.os_tag }}" |
| 35 | + bdist-wheel: |
| 36 | + name: Build wheels on ${{ matrix.os }} |
47 | 37 | runs-on: ${{ matrix.os }} |
48 | | - |
49 | | - steps: |
50 | | - - uses: actions/checkout@v2 |
51 | | - - uses: actions/setup-python@v2 |
52 | | - |
53 | | - - name: Install prerequisites |
54 | | - run: | |
55 | | - set -xe |
56 | | - pwd |
57 | | - python --version |
58 | | - python -m pip install --upgrade pip setuptools wheel |
59 | | - python -m pip install cibuildwheel |
60 | | - shell: bash |
61 | | - |
62 | | - - name: Build and test |
63 | | - run: set -xe && python -m cibuildwheel --output-dir wheelhouse |
64 | | - env: |
65 | | - CIBW_BUILD: ${{ matrix.python_tag }}-${{ matrix.os_tag }} |
66 | | - CIBW_BUILD_VERBOSITY: 3 |
67 | | - CIBW_PROJECT_REQUIRES_PYTHON: ">=3.7" |
68 | | - CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64 |
69 | | - CIBW_TEST_REQUIRES: pytest |
70 | | - CIBW_BEFORE_TEST: pip install -r requirements-test.txt |
71 | | - CIBW_TEST_COMMAND: pytest --pyargs tree |
72 | | - shell: bash |
73 | | - |
74 | | - - name: Directory listing |
75 | | - run: ls -lh wheelhouse/dm_tree*.whl |
76 | | - shell: bash |
77 | | - |
78 | | - - uses: actions/upload-artifact@v2 |
79 | | - if: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'release' && github.event.action == 'created') }} |
80 | | - with: |
81 | | - name: dm-tree-${{ github.workflow }}-${{ github.run_number }} |
82 | | - path: wheelhouse/dm_tree*.whl |
83 | | - |
84 | | - wheel-apple_silicon: |
85 | 38 | strategy: |
86 | 39 | matrix: |
87 | | - python_tag: [cp38, cp39, cp310, cp311, cp312] |
88 | | - macos_arch: [arm64, universal2] |
89 | | - |
90 | | - name: "wheel: ${{ matrix.python_tag }}-macosx_${{ matrix.macos_arch }}" |
91 | | - runs-on: macos-latest |
| 40 | + os: [ubuntu-24.04, macos-14, windows-2022] # latest |
92 | 41 |
|
93 | 42 | steps: |
94 | | - - uses: actions/checkout@v2 |
95 | | - - uses: actions/setup-python@v2 |
96 | | - |
97 | | - - name: Install prerequisites |
98 | | - run: | |
99 | | - set -xe |
100 | | - pwd |
101 | | - python --version |
102 | | - python -m pip install --upgrade pip setuptools wheel |
103 | | - python -m pip install cibuildwheel |
104 | | - shell: bash |
105 | | - |
106 | | - - name: Build and test |
107 | | - run: set -xe && python -m cibuildwheel --output-dir wheelhouse |
108 | | - env: |
109 | | - CIBW_BUILD: ${{ matrix.python_tag }}-macosx_${{ matrix.macos_arch }} |
110 | | - CIBW_BUILD_VERBOSITY: 3 |
111 | | - CIBW_ARCHS_MACOS: ${{ matrix.macos_arch }} |
112 | | - CIBW_TEST_REQUIRES: pytest |
113 | | - CIBW_BEFORE_TEST: pip install -r requirements-test.txt |
114 | | - CIBW_TEST_COMMAND: "if [ \"${CIBW_ARCHS_MACOS}\" = \"universal2\" ]; then pytest --pyargs tree; fi" |
115 | | - shell: bash |
116 | | - |
117 | | - - name: Directory listing |
118 | | - run: ls -lh wheelhouse/dm_tree*.whl |
119 | | - shell: bash |
120 | | - |
121 | | - - uses: actions/upload-artifact@v2 |
122 | | - if: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'release' && github.event.action == 'created') }} |
| 43 | + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |
123 | 44 | with: |
124 | | - name: dm-tree-${{ github.workflow }}-${{ github.run_number }} |
125 | | - path: wheelhouse/dm_tree*.whl |
126 | | - |
127 | | - wheel-aarch: |
128 | | - strategy: |
129 | | - matrix: |
130 | | - os: [ubuntu-latest] |
131 | | - python_tag: [cp38, cp39, cp310, cp311, cp312] |
132 | | - arch: [aarch64, ppc64le, s390x, i686] |
133 | | - include: |
134 | | - - arch: aarch64 |
135 | | - arch_tag: manylinux_aarch64 |
136 | | - - arch: ppc64le |
137 | | - arch_tag: manylinux_ppc64le |
138 | | - - arch: s390x |
139 | | - arch_tag: manylinux_s390x |
140 | | - - arch: i686 |
141 | | - arch_tag: manylinux_i686 |
142 | | - |
143 | | - if: false |
144 | | - name: "wheel: ${{ matrix.python_tag }}-${{ matrix.arch }}" |
145 | | - runs-on: ${{ matrix.os }} |
146 | | - |
147 | | - steps: |
148 | | - - uses: actions/checkout@v2 |
149 | | - - uses: actions/setup-python@v2 |
| 45 | + submodules: true |
| 46 | + - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 |
| 47 | + with: |
| 48 | + python-version: "3.11" |
150 | 49 | - name: Set up QEMU |
151 | | - uses: docker/setup-qemu-action@v2 |
| 50 | + if: runner.os == 'Linux' |
| 51 | + uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0 |
152 | 52 | with: |
153 | 53 | platforms: all |
154 | | - - name: Install prerequisites |
155 | | - run: | |
156 | | - set -xe |
157 | | - pwd |
158 | | - python --version |
159 | | - python -m pip install --upgrade pip setuptools wheel |
160 | | - python -m pip install cibuildwheel |
161 | | - shell: bash |
162 | | - |
163 | | - - name: Build and test |
164 | | - run: set -xe && python -m cibuildwheel --output-dir wheelhouse |
| 54 | + - name: Install cibuildwheel |
| 55 | + run: python -m pip install cibuildwheel==2.22.0 |
| 56 | + - name: Build wheels |
| 57 | + run: python -m cibuildwheel --output-dir wheelhouse |
165 | 58 | env: |
166 | | - CIBW_BUILD: ${{ matrix.python_tag }}-${{ matrix.arch_tag }} |
167 | | - CIBW_BUILD_VERBOSITY: 3 |
168 | | - CIBW_TEST_REQUIRES: pytest |
169 | | - CIBW_BEFORE_TEST: pip install -r requirements-test.txt |
| 59 | + CIBW_ARCHS_LINUX: auto aarch64 |
| 60 | + CIBW_ARCHS_MACOS: universal2 |
| 61 | + CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-* cp313t-*" |
| 62 | + CIBW_BUILD_VERBOSITY: 1 |
| 63 | + CIBW_FREE_THREADED_SUPPORT: True |
| 64 | + CIBW_PRERELEASE_PYTHONS: True |
| 65 | + CIBW_SKIP: "*musllinux* *i686* *win32* *t-win*" |
170 | 66 | CIBW_TEST_COMMAND: pytest --pyargs tree |
171 | | - CIBW_ARCHS_LINUX: ${{ matrix.arch }} |
172 | | - shell: bash |
173 | | - |
174 | | - - name: Directory listing |
175 | | - run: ls -lh wheelhouse/dm_tree*.whl |
176 | | - shell: bash |
177 | | - |
178 | | - - uses: actions/upload-artifact@v2 |
| 67 | + CIBW_TEST_REQUIRES: pytest |
| 68 | + MAKEFLAGS: "-j$(nproc)" |
| 69 | + - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 |
179 | 70 | if: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'release' && github.event.action == 'created') }} |
180 | 71 | with: |
181 | | - name: dm-tree-${{ github.workflow }}-${{ github.run_number }} |
182 | | - path: wheelhouse/dm_tree*.whl |
| 72 | + name: dm-tree-bdist-wheel-${{ matrix.os }}-${{ strategy.job-index }} |
| 73 | + path: wheelhouse/*.whl |
0 commit comments