|
38 | 38 | run: make prepare-coverage |
39 | 39 | - name: Check whether ChimeraX.exe and python -m chimerax.core are equivalent |
40 | 40 | run: USE_COVERAGE=1 make pytest-both-exes |
41 | | - - name: Run wheel tests |
42 | | - run: USE_COVERAGE=1 make pytest-wheel |
43 | 41 | - name: Run distribution tests |
44 | 42 | run: USE_COVERAGE=1 make pytest-app |
45 | 43 | - name: Report coverage |
@@ -104,8 +102,6 @@ jobs: |
104 | 102 | run: make prepare-coverage |
105 | 103 | - name: Check whether ChimeraX.exe and python -m chimerax.core are equivalent |
106 | 104 | run: USE_COVERAGE=1 make pytest-both-exes |
107 | | - - name: Run wheel tests |
108 | | - run: USE_COVERAGE=1 make pytest-wheel |
109 | 105 | - name: Run distribution tests |
110 | 106 | run: USE_COVERAGE=1 make pytest-app |
111 | 107 | - name: Report coverage |
@@ -135,64 +131,7 @@ jobs: |
135 | 131 | run: make prepare-coverage |
136 | 132 | - name: Check whether ChimeraX.exe and python -m chimerax.core are equivalent |
137 | 133 | run: USE_COVERAGE=1 make pytest-both-exes |
138 | | - - name: Run wheel tests |
139 | | - run: USE_COVERAGE=1 make pytest-wheel |
140 | 134 | - name: Run distribution tests |
141 | 135 | run: USE_COVERAGE=1 make pytest-app |
142 | 136 | - name: Report coverage |
143 | 137 | run: make report-coverage |
144 | | - build-and-test-wheels: |
145 | | - runs-on: macos-latest |
146 | | - steps: |
147 | | - - uses: actions/checkout@v6 |
148 | | - - name: Set up Homebrew |
149 | | - id: set-up-homebrew |
150 | | - uses: Homebrew/actions/setup-homebrew@master |
151 | | - - run: ${PWD}/utils/set_up_macos.sh |
152 | | - - name: Fetch Plato prerequisites |
153 | | - uses: ./utils/ci/consolidated_cache |
154 | | - with: |
155 | | - platform: macos |
156 | | - architecture: arm64 |
157 | | - cache_key: ${{ secrets.PREBUILT_CACHE_SECRET }} |
158 | | - - name: Install the 3DConnexion Framework |
159 | | - run: | |
160 | | - hdiutil attach 3DxWareMac_v10-8-7_r3836.dmg -nobrowse -noverify |
161 | | - sudo installer -pkg /Volumes/3Dconnexion\ Software/Install\ 3Dconnexion\ software.pkg -target / |
162 | | - hdiutil detach /Volumes/3Dconnexion\ Software |
163 | | - - name: Set up uv |
164 | | - run: | |
165 | | - curl -LsSf https://astral.sh/uv/install.sh | sh |
166 | | - uv venv -p 3.11.4 |
167 | | - source .venv/bin/activate |
168 | | - - run: source .venv/bin/activate && MAKEOPTS="-j$(sysctl -n hw.logicalcpu)" BUILD_TYPE="${{ inputs.release_type }}" make -j$(sysctl -n hw.logicalcpu) uv-install |
169 | | - - name: Copy the ChimeraX directory out of the virtual environment |
170 | | - run: | |
171 | | - mkdir -p build/wheel/ |
172 | | - mv .venv/lib/python3.11/site-packages/chimerax build/wheel |
173 | | - rm -rf .venv/lib/python3.11/site-packages/chimerax* |
174 | | - - name: Copy the wheel build files to build/wheel |
175 | | - run: | |
176 | | - cp pyproject.toml build/wheel |
177 | | - cp utils/build/wheel/make_init.py build/wheel |
178 | | - cp utils/build/wheel/setup.py build/wheel |
179 | | - cp utils/build/wheel/filter_modules.py build/wheel |
180 | | - cp utils/build/wheel/make_init.py build/wheel |
181 | | - - name: Remove UI files and add an __init__.py |
182 | | - run: | |
183 | | - source .venv/bin/activate |
184 | | - cd build/wheel |
185 | | - python filter_modules.py |
186 | | - python make_init.py |
187 | | - # TODO: filter_deps.py |
188 | | - uv build --wheel |
189 | | - - name: Reinstall the wheel we just made |
190 | | - continue-on-error: true |
191 | | - run: | |
192 | | - source .venv/bin/activate |
193 | | - uv pip install build/wheel/dist/*.whl |
194 | | - - name: Test the wheel again |
195 | | - continue-on-error: true |
196 | | - run: | |
197 | | - source .venv/bin/activate |
198 | | - UV_BUILD=1 USE_COVERAGE=1 make pytest-wheel |
0 commit comments