new version #243
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: Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - v* | |
| pull_request: | |
| jobs: | |
| tests: | |
| name: pytests (${{ matrix.os }} - ${{ matrix.python-version }}) | |
| runs-on: ${{ matrix.os }}-latest | |
| defaults: | |
| run: | |
| shell: bash -l {0} | |
| strategy: | |
| matrix: | |
| os: ["ubuntu"] | |
| python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', '3.14' ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| environment-file: environment.yml | |
| python-version: ${{ matrix.python-version }} | |
| miniforge-version: latest | |
| miniforge-variant: Miniforge3 | |
| - name: Run tests | |
| run: | | |
| conda activate test | |
| pip install . | |
| cd tests | |
| pytest -vs --log-cli-level=debug --cache-clear -m "not remote" | |
| - name: Build wheels | |
| if: matrix.python-version == '3.10' && matrix.os == 'ubuntu' | |
| run: | | |
| conda activate test | |
| conda install conda-forge::poetry | |
| poetry build | |
| - name: Upload wheels | |
| if: matrix.python-version == '3.10' && matrix.os == 'ubuntu' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheels | |
| path: dist | |
| release: | |
| name: Release | |
| runs-on: ubuntu-latest | |
| if: "startsWith(github.ref, 'refs/tags/')" | |
| needs: [ tests ] | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: wheels | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| python-version: '3.10' | |
| miniforge-version: latest | |
| miniforge-variant: Miniforge3 | |
| - name: Publish to PyPi | |
| env: | |
| TWINE_USERNAME: __token__ | |
| TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} | |
| run: | | |
| pip install typing-extensions | |
| pip install --upgrade setuptools wheel twine | |
| pip install --upgrade pkginfo | |
| pip install -U packaging | |
| twine upload --skip-existing * |