Skip to content

Make mypy happy again. #564

Make mypy happy again.

Make mypy happy again. #564

name: tests
on:
push:
branches:
- '*'
tags:
- '*'
pull_request:
jobs:
linting:
runs-on: ubuntu-latest
steps:
- uses: neuroinformatics-unit/actions/lint@v2.0.0
manifest:
name: Check Manifest
runs-on: ubuntu-latest
steps:
- uses: neuroinformatics-unit/actions/check_manifest@v2.0.0
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.9", "3.10", "3.11", "3.12"]
os: [ubuntu-latest]
# Include one windows and macos run
include:
- os: macos-latest
python-version: "3.10"
- os: windows-latest
python-version: "3.10"
steps:
# Cache the test data to avoid re-downloading
- name: Cache Test Data
uses: actions/cache@v3
with:
path: ${{ github.workspace }}/.WAZP/*
key: cached-test-data
enableCrossOsArchive: true
# 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.0.0
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.0.0
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.5.0
with:
user: __token__
password: ${{ secrets.TWINE_API_KEY }}