Correct the license classifier and project URLs before publishing #14
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| FORCE_COLOR: 3 | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v7 | |
| with: | |
| python-version: "3.12" | |
| - run: pipx run ruff check --output-format=github . | |
| - run: pipx run ruff format --check --diff . | |
| wheels: | |
| name: Wheel on ${{ matrix.os }} (${{ matrix.arch }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| arch: x86_64 | |
| # macos-15 rather than macos-14: the arm64 binaries currently declare a minimum of | |
| # macOS 15, so a macOS 14 runner cannot install or execute the wheel it just built | |
| # and the test step could never pass. Lowering the binaries' deployment target is a | |
| # build-layer change; this runner works either way. | |
| - os: macos-15 | |
| arch: arm64 | |
| - os: macos-15-intel | |
| arch: x86_64 | |
| - os: windows-latest | |
| arch: AMD64 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| # Builds the wheel, then runs tests/ against the installed wheel inside cibuildwheel's | |
| # test environment (test-command in pyproject.toml). That covers the DICOM round-trip, | |
| # so a broken archive pin or a binary that cannot read DICOM fails here rather than | |
| # after publishing. | |
| - uses: pypa/cibuildwheel@v4.1.1 | |
| env: | |
| CIBW_ARCHS: ${{ matrix.arch }} | |
| CIBW_SKIP: "*musllinux*" | |
| - name: Report wheel tag | |
| shell: bash | |
| run: ls -la wheelhouse/ | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: wheel-${{ matrix.os }}-${{ matrix.arch }} | |
| path: wheelhouse/*.whl | |
| # Guards the seam: confirms the archives named in plastimatchUrls.cmake still exist at the | |
| # pinned URLs with the pinned checksums. If the release hosting them is re-cut, this fails | |
| # with a clear message instead of every wheel job failing on a hash mismatch. | |
| verify_pins: | |
| name: Verify archive pins | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Check every pinned archive | |
| run: python .github/scripts/verify_pins.py |