pull in transform gizmo fixes #203
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test Build | |
| # NOTE: build logic is duplicated here and in publish.yml | |
| # Run on the master branch commit push and PRs to master (note conditional below) | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| jobs: | |
| build_wheels: | |
| # Only run if the commit message contains '[ci build]' | |
| if: "contains(toJSON(github.event.commits.*.message), '[ci build]') || contains(toJSON(github.event.pull_request.title), '[ci build]')" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # macos-13 is an intel runner, macos-14+ is apple silicon | |
| os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-latest] | |
| name: Build wheels ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Package source distribution | |
| # make sure this only happens on one of the runners, not repeated on all | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| python -m pip install build | |
| python -m build --sdist | |
| - name: Run cibuildwheel | |
| uses: pypa/cibuildwheel@v2.23.2 | |
| with: | |
| config-file: ".github/workflows/cibuildwheel_config.toml" | |
| # Upload binaries to the github artifact store | |
| - name: Upload wheels | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} | |
| path: | | |
| ./wheelhouse/*.whl | |
| ./wheelhouse/*.tar.gz | |
| overwrite: true | |
| # Do all but the very last step of pushing the upload to pypi, to catch any problems | |
| # in directory layout or multiply-generated wheels etc. | |
| prep_upload: | |
| name: Prep release upload | |
| # Only run if the commit message contains '[ci build]' | |
| if: "contains(toJSON(github.event.commits.*.message), '[ci build]') || contains(toJSON(github.event.pull_request.title), '[ci build]')" | |
| needs: [build_wheels] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download built wheels artifact # downloads from the jobs storage from the previous step | |
| uses: actions/download-artifact@v4.2.1 | |
| with: | |
| # omitting the `name: ` field downloads all artifacts from this workflow | |
| path: dist | |
| - name: List downloaded files from artifact | |
| run: ls -lR dist | |
| # dist directory has subdirs from the different jobs, merge them into one directory and delete | |
| # the empty leftover dirs | |
| - name: Flatten directory | |
| run: find dist -mindepth 2 -type f -exec mv -t dist {} + && find dist -type d -empty -delete | |
| - name: List downloaded files from artifact after flatten | |
| run: ls -lR dist | |
| # This is where we would actually publish, if it were a real release | |
| # - name: Publish package to PyPI | |
| # uses: pypa/gh-action-pypi-publish@release/v1 | |
| # with: | |
| # To test: repository_url: https://test.pypi.org/legacy/ |