Rename workflow to 'Run tests and deploy to PyPI' and make versions … #60
Workflow file for this run
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: Run tests and deploy to PyPI | |
| on: | |
| push: | |
| branches: | |
| - '*' | |
| tags: | |
| - '*' | |
| pull_request: | |
| jobs: | |
| linting: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: neuroinformatics-unit/actions/lint@v2 | |
| manifest: | |
| name: Check Manifest | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: neuroinformatics-unit/actions/check_manifest@v2 | |
| test: | |
| needs: [linting, manifest] | |
| name: ${{ matrix.os }} py${{ matrix.python-version }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| # Run all supported Python versions on linux (plus one development unsupported) | |
| python-version: ["3.11", "3.12", "3.13"] | |
| os: [ubuntu-latest] | |
| # Include one windows and macos run | |
| include: | |
| - os: macos-latest | |
| python-version: "3.12" | |
| - os: windows-latest | |
| python-version: "3.12" | |
| steps: | |
| # A hack because chrome isn't in the PATH on Windows | |
| - name: Fix Chrome application path on Windows | |
| if: matrix.os == 'windows-latest' | |
| shell: bash | |
| run: | | |
| echo "C:\Program Files\Google\Chrome\Application" >> $GITHUB_PATH | |
| - name: Print chrome version on Windows | |
| if: matrix.os == 'windows-latest' | |
| shell: pwsh | |
| run: | | |
| (Get-Item "C:\Program Files\Google\Chrome\Application\chrome.exe").VersionInfo | |
| chromedriver --version | |
| # Run tests | |
| - uses: neuroinformatics-unit/actions/test@v2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| build_sdist_wheels: | |
| name: Build source distribution | |
| needs: [test] | |
| if: github.event_name == 'push' && github.ref_type == 'tag' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: neuroinformatics-unit/actions/build_sdist_wheels@v2 | |
| upload_all: | |
| name: Publish build distributions | |
| needs: [build_sdist_wheels] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/download-artifact@v3 | |
| with: | |
| name: artifact | |
| path: dist | |
| - uses: pypa/gh-action-pypi-publish@v1 | |
| with: | |
| user: __token__ | |
| password: ${{ secrets.TWINE_API_KEY }} |