From 78dfbd3c2ac9af00628afb2a89b8d1effe41f250 Mon Sep 17 00:00:00 2001 From: scaramallion Date: Tue, 29 Oct 2024 09:37:43 +1100 Subject: [PATCH] Test build --- .github/workflows/release-wheels.yml | 377 ++++++++++++++------------- 1 file changed, 189 insertions(+), 188 deletions(-) diff --git a/.github/workflows/release-wheels.yml b/.github/workflows/release-wheels.yml index ddbf1ab..18379dc 100644 --- a/.github/workflows/release-wheels.yml +++ b/.github/workflows/release-wheels.yml @@ -3,9 +3,9 @@ name: release-deploy on: release: types: [ published ] - # push: - # branches: [ main ] - # pull_request: + push: + branches: [ main ] + pull_request: jobs: build-sdist: @@ -42,77 +42,77 @@ jobs: matrix: include: # Windows 32 bit - - os: windows-latest - python: 39 - platform_id: win32 - - os: windows-latest - python: 310 - platform_id: win32 - - os: windows-latest - python: 311 - platform_id: win32 - - os: windows-latest - python: 312 - platform_id: win32 - - os: windows-latest - python: 313 - platform_id: win32 - - # Windows 64 bit - - os: windows-latest - python: 39 - platform_id: win_amd64 - - os: windows-latest - python: 310 - platform_id: win_amd64 - - os: windows-latest - python: 311 - platform_id: win_amd64 - - os: windows-latest - python: 312 - platform_id: win_amd64 - - os: windows-latest - python: 313 - platform_id: win_amd64 - - # Linux 64 bit manylinux2014 - - os: ubuntu-latest - python: 39 - platform_id: manylinux_x86_64 - manylinux_image: manylinux2014 - - os: ubuntu-latest - python: 310 - platform_id: manylinux_x86_64 - manylinux_image: manylinux2014 - - os: ubuntu-latest - python: 311 - platform_id: manylinux_x86_64 - manylinux_image: manylinux2014 - - os: ubuntu-latest - python: 312 - platform_id: manylinux_x86_64 - manylinux_image: manylinux2014 - - os: ubuntu-latest - python: 313 - platform_id: manylinux_x86_64 - manylinux_image: manylinux2014 - - # Linux aarch64 - - os: ubuntu-latest - python: 39 - platform_id: manylinux_aarch64 - - os: ubuntu-latest - python: 310 - platform_id: manylinux_aarch64 - - os: ubuntu-latest - python: 311 - platform_id: manylinux_aarch64 - - os: ubuntu-latest - python: 312 - platform_id: manylinux_aarch64 - - os: ubuntu-latest - python: 313 - platform_id: manylinux_aarch64 + # - os: windows-latest + # python: 39 + # platform_id: win32 + # - os: windows-latest + # python: 310 + # platform_id: win32 + # - os: windows-latest + # python: 311 + # platform_id: win32 + # - os: windows-latest + # python: 312 + # platform_id: win32 + # - os: windows-latest + # python: 313 + # platform_id: win32 + # + # # Windows 64 bit + # - os: windows-latest + # python: 39 + # platform_id: win_amd64 + # - os: windows-latest + # python: 310 + # platform_id: win_amd64 + # - os: windows-latest + # python: 311 + # platform_id: win_amd64 + # - os: windows-latest + # python: 312 + # platform_id: win_amd64 + # - os: windows-latest + # python: 313 + # platform_id: win_amd64 + # + # # Linux 64 bit manylinux2014 + # - os: ubuntu-latest + # python: 39 + # platform_id: manylinux_x86_64 + # manylinux_image: manylinux2014 + # - os: ubuntu-latest + # python: 310 + # platform_id: manylinux_x86_64 + # manylinux_image: manylinux2014 + # - os: ubuntu-latest + # python: 311 + # platform_id: manylinux_x86_64 + # manylinux_image: manylinux2014 + # - os: ubuntu-latest + # python: 312 + # platform_id: manylinux_x86_64 + # manylinux_image: manylinux2014 + # - os: ubuntu-latest + # python: 313 + # platform_id: manylinux_x86_64 + # manylinux_image: manylinux2014 + # + # # Linux aarch64 + # - os: ubuntu-latest + # python: 39 + # platform_id: manylinux_aarch64 + # - os: ubuntu-latest + # python: 310 + # platform_id: manylinux_aarch64 + # - os: ubuntu-latest + # python: 311 + # platform_id: manylinux_aarch64 + # - os: ubuntu-latest + # python: 312 + # platform_id: manylinux_aarch64 + # - os: ubuntu-latest + # python: 313 + # platform_id: manylinux_aarch64 # MacOS 12 x86_64 - os: macos-12 @@ -171,122 +171,123 @@ jobs: name: wheel-${{ matrix.python }}-${{ matrix.platform_id }} path: ./dist - build-wheels-macos-arm64: - name: Build wheel for cp${{ matrix.python }}-${{ matrix.platform_id }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - include: - # MacOS 14 arm64 - - os: macos-14 - python: 39 - platform_id: macosx_arm64 - - os: macos-14 - python: 310 - platform_id: macosx_arm64 - - os: macos-14 - python: 311 - platform_id: macosx_arm64 - - os: macos-14 - python: 312 - platform_id: macosx_arm64 - - os: macos-14 - python: 313 - platform_id: macosx_arm64 - - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - uses: actions/setup-python@v5 - name: Install Python - with: - python-version: '3.9' - - - name: Install cibuildwheel - run: python -m pip install cibuildwheel>=2.21 wheel>=0.42 - - - name: Build wheels - env: - CIBW_BUILD: cp${{ matrix.python }}-* - CIBW_ARCHS_MACOS: arm64 - CIBW_BUILD_VERBOSITY: 1 - run: | - python -m cibuildwheel --output-dir dist + # build-wheels-macos-arm64: + # name: Build wheel for cp${{ matrix.python }}-${{ matrix.platform_id }} + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # include: + # # MacOS 14 arm64 + # - os: macos-14 + # python: 39 + # platform_id: macosx_arm64 + # - os: macos-14 + # python: 310 + # platform_id: macosx_arm64 + # - os: macos-14 + # python: 311 + # platform_id: macosx_arm64 + # - os: macos-14 + # python: 312 + # platform_id: macosx_arm64 + # - os: macos-14 + # python: 313 + # platform_id: macosx_arm64 + # + # steps: + # - uses: actions/checkout@v4 + # with: + # submodules: true + # + # - uses: actions/setup-python@v5 + # name: Install Python + # with: + # python-version: '3.9' + # + # - name: Install cibuildwheel + # run: python -m pip install cibuildwheel>=2.21 wheel>=0.42 + # + # - name: Build wheels + # env: + # CIBW_BUILD: cp${{ matrix.python }}-* + # CIBW_ARCHS_MACOS: arm64 + # CIBW_BUILD_VERBOSITY: 1 + # run: | + # python -m cibuildwheel --output-dir dist + # + # - name: Store artifacts + # uses: actions/upload-artifact@v4 + # with: + # name: wheel-${{ matrix.python }}-${{ matrix.platform_id }} + # path: ./dist/*.whl - - name: Store artifacts - uses: actions/upload-artifact@v4 - with: - name: wheel-${{ matrix.python }}-${{ matrix.platform_id }} - path: ./dist/*.whl - - test-package: - name: Test built package - needs: [ build-wheels, build-sdist, build-wheels-macos-arm64 ] - runs-on: ubuntu-latest - timeout-minutes: 30 - strategy: - fail-fast: false - matrix: - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] - - steps: - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - - name: Download the wheels - uses: actions/download-artifact@v4 - with: - path: dist/ - merge-multiple: true - - - name: Install from package wheels and test - run: | - python -m venv testwhl - source testwhl/bin/activate - python -m pip install -U pip - python -m pip install pytest pydicom pylibjpeg - python -m pip uninstall -y pylibjpeg-openjpeg - python -m pip install git+https://github.com/pydicom/pylibjpeg-data - python -m pip install -U --pre --find-links dist/ pylibjpeg-openjpeg - python -m pytest --pyargs openjpeg.tests - deactivate - - - name: Install from package tarball and test - run: | - python -m venv testsrc - source testsrc/bin/activate - python -m pip install -U pip - python -m pip install pytest pydicom pylibjpeg - python -m pip uninstall -y pylibjpeg-openjpeg - python -m pip install git+https://github.com/pydicom/pylibjpeg-data - python -m pip install -U dist/pylibjpeg*openjpeg-*.tar.gz - python -m pytest --pyargs openjpeg.tests - deactivate + # test-package: + # name: Test built package + # needs: [ build-wheels, build-sdist, build-wheels-macos-arm64 ] + # runs-on: ubuntu-latest + # timeout-minutes: 30 + # strategy: + # fail-fast: false + # matrix: + # python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + # + # steps: + # - name: Set up Python ${{ matrix.python-version }} + # uses: actions/setup-python@v5 + # with: + # python-version: ${{ matrix.python-version }} + # + # - name: Download the wheels + # uses: actions/download-artifact@v4 + # with: + # path: dist/ + # merge-multiple: true + # + # - name: Install from package wheels and test + # run: | + # python -m venv testwhl + # source testwhl/bin/activate + # python -m pip install -U pip + # python -m pip install pytest pydicom pylibjpeg + # python -m pip uninstall -y pylibjpeg-openjpeg + # python -m pip install git+https://github.com/pydicom/pylibjpeg-data + # python -m pip install -U --pre --find-links dist/ pylibjpeg-openjpeg + # python -m pytest --pyargs openjpeg.tests + # deactivate + # + # - name: Install from package tarball and test + # run: | + # python -m venv testsrc + # source testsrc/bin/activate + # python -m pip install -U pip + # python -m pip install pytest pydicom pylibjpeg + # python -m pip uninstall -y pylibjpeg-openjpeg + # python -m pip install git+https://github.com/pydicom/pylibjpeg-data + # python -m pip install -U dist/pylibjpeg*openjpeg-*.tar.gz + # python -m pytest --pyargs openjpeg.tests + # deactivate # The pypi upload fails with non-linux containers, so grab the uploaded # artifacts and run using those # See: https://github.com/pypa/gh-action-pypi-publish/discussions/15 - deploy: - name: Upload wheels to PyPI - needs: [ test-package ] - runs-on: ubuntu-latest - environment: - name: pypi - url: https://pypi.org/project/pylibjpeg-openjpeg/ - permissions: - id-token: write - - steps: - - name: Download the wheels - uses: actions/download-artifact@v4 - with: - path: dist/ - merge-multiple: true - - - name: Publish package to PyPi - uses: pypa/gh-action-pypi-publish@release/v1 + # deploy: + # name: Upload wheels to PyPI + # # needs: [ test-package ] + # needs: [ build-wheels, build-sdist, build-wheels-macos-arm64 ] + # runs-on: ubuntu-latest + # environment: + # name: pypi + # url: https://pypi.org/project/pylibjpeg-openjpeg/ + # permissions: + # id-token: write + # + # steps: + # - name: Download the wheels + # uses: actions/download-artifact@v4 + # with: + # path: dist/ + # merge-multiple: true + # + # - name: Publish package to PyPi + # uses: pypa/gh-action-pypi-publish@release/v1