Update numpy compatibility #3
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 and deploy" | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - development | |
| - deploy | |
| pull_request: | |
| workflow_dispatch: | |
| release: | |
| types: [published] | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| jobs: | |
| develop-matrix: | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| python: ['3.11', '3.12', '3.13', '3.14'] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - name: Install and test | |
| run: | | |
| pip install --upgrade pip | |
| pip install ".[test]" | |
| python -m pytest | |
| - name: Build and validate distribution | |
| if: matrix.os == 'ubuntu-latest' && matrix.python == '3.14' | |
| run: | | |
| pip install build twine | |
| python -m build | |
| twine check dist/* | |
| python -m venv /tmp/paramz-wheel-test | |
| /tmp/paramz-wheel-test/bin/python -m pip install --upgrade pip | |
| /tmp/paramz-wheel-test/bin/python -m pip install dist/*.whl | |
| cd /tmp | |
| /tmp/paramz-wheel-test/bin/python -c "import paramz; print(paramz.__version__)" | |
| deploy: | |
| runs-on: ubuntu-latest | |
| needs: develop-matrix | |
| if: github.event_name == 'release' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Build and validate distribution | |
| run: | | |
| pip install --upgrade pip | |
| pip install build twine | |
| python -m build | |
| twine check dist/* | |
| - name: Upload to PyPI using twine | |
| run: | | |
| twine upload --skip-existing dist/* | |
| env: | |
| TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} | |
| TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} |