name: Unit Tests on: push: pull_request: schedule: - cron: '00 4 * * *' # daily at 4AM jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9', '3.10', "3.11", "3.12"] optional-deps: ['no-extras', 'extras'] fail-fast: false steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install test requirements shell: bash -l {0} run: | set -vxeuo pipefail python -m pip install -v . if [[ ${{ matrix.optional-deps }} = extras ]]; then python -mpip install av jinja2 jpype1 matplotlib moviepy scikit-image tifffile fi python -m pip install coverage pytest python -m pip list - name: Test with pytest shell: bash -l {0} run: | set -vxeuo pipefail python -c 'import pims.bioformats; pims.bioformats.download_jar()' coverage run -m pytest -svra coverage report - name: Upload code coverage uses: codecov/codecov-action@v3