Update black[jupyter] requirement from ~=25.1 to ~=26.3 #132
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: Build & Release | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| release: | |
| types: | |
| - published | |
| jobs: | |
| # Quick universal wheel build + test on every push/PR | |
| Universal: | |
| name: Build Universal Wheel | |
| runs-on: ubuntu-latest | |
| permissions: write-all | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set Up Python 3.13 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| cache: 'pip' | |
| - name: Build Wheel | |
| run: | | |
| python -m pip install --upgrade build pytest~=9.0 | |
| python -m build --wheel --outdir wheelhouse | |
| - name: Test Universal Wheel | |
| run: | | |
| pip install wheelhouse/*.whl | |
| pytest tests/ -v | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: openskill-universal-wheel | |
| path: wheelhouse/*.whl | |
| # Full compiled wheels - only on release | |
| Compiled: | |
| name: Build Compiled Wheels (${{ matrix.os }}) | |
| if: github.event_name == 'release' && github.event.action == 'published' | |
| runs-on: ${{ matrix.os }} | |
| permissions: write-all | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-15-intel, macos-latest] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set Up Python 3.13 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| cache: 'pip' | |
| - name: Upgrade Dependencies | |
| run: | | |
| python -m pip install --upgrade build | |
| python -m pip install --upgrade pip | |
| python -m pip install --upgrade cibuildwheel~=2.23.2 | |
| - name: Build Project for Distribution | |
| env: | |
| CIBW_ENVIRONMENT: USE_MYPYC=1 | |
| CIBW_PLATFORM: ${{ matrix.platform }} | |
| CIBW_ARCHS: "auto" | |
| CIBW_BUILD: "cp3*" | |
| CIBW_TEST_REQUIRES: pytest~=9.0 | |
| CIBW_TEST_COMMAND: pytest {package}/tests | |
| run: python -m cibuildwheel --output-dir wheelhouse | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: openskill-wheels-${{ matrix.os }}-${{ strategy.job-index }} | |
| path: ./wheelhouse/*.whl | |
| # Source distribution - only on release | |
| Source: | |
| name: Build Source Distribution | |
| if: github.event_name == 'release' && github.event.action == 'published' | |
| runs-on: ubuntu-latest | |
| permissions: write-all | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Build Source | |
| run: | | |
| python -m pip install --upgrade build | |
| python -m build --sdist --outdir wheelhouse | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: openskill-sdist | |
| path: wheelhouse/*.tar.gz | |
| # Upload to PyPI - only on release | |
| Upload: | |
| name: Upload Wheels to PyPi | |
| needs: [Compiled, Source] | |
| runs-on: ubuntu-latest | |
| environment: pypi | |
| permissions: | |
| id-token: write | |
| if: github.event_name == 'release' && github.event.action == 'published' | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| pattern: openskill-* | |
| path: wheelhouse | |
| merge-multiple: true | |
| - name: Publish Wheels to PyPi | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| packages-dir: wheelhouse/ |