Skip to content

Make image view mixins into abstract base classes #2982

Make image view mixins into abstract base classes

Make image view mixins into abstract base classes #2982

Workflow file for this run

name: Testing on Windows
on:
push:
branches:
- 'main'
- 'release-*'
pull_request:
paths:
- '**'
- '!docs/**'
release:
merge_group:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: windows-latest
env:
CONDA_OVERRIDE_CUDA: 11.8
steps:
- uses: actions/checkout@v4
with:
# Needed to get tags so that git describe works during package build
fetch-depth: "0"
- name: Get Date
id: get-date
run: |
echo "date=$(/bin/date -u "+%Y%V")" >> $GITHUB_OUTPUT
shell: bash
- name: Cache Miniforge and Pip packages
uses: actions/cache@v4
env:
CACHE_NUMBER: 0
with:
path: |
~/conda_pkgs_dir
~/.cache/pip
key:
${{runner.os}}-condapkg-${{env.CACHE_NUMBER}}-${{steps.get-date.outputs.date}}-${{hashFiles('environment-dev.yml','conda/meta.yaml')}}
- name: Setup Miniforge
uses: conda-incubator/setup-miniconda@v3
with:
miniforge-version: latest
activate-environment: mantidimaging-dev
auto-activate-base: false
use-mamba: true
- name: Cache Miniforge environment
uses: actions/cache@v4
id: cache-miniforge-environment
env:
CACHE_NUMBER: 0
with:
path: ${{env.CONDA}}/envs/mantidimaging-dev
key:
${{runner.os}}-condaenv-${{env.CACHE_NUMBER}}-${{steps.get-date.outputs.date}}-${{hashFiles('environment-dev.yml','conda/meta.yaml')}}
- name: Mantid Imaging developer dependencies
if: steps.cache-miniforge-environment.outputs.cache-hit != 'true'
shell: bash -l {0}
run: |
conda deactivate
python ./setup.py create_dev_env
- name: List versions
shell: bash -l {0}
run: |
mamba env list
python --version; mamba list ; pip list
- name: Yapf
shell: bash -l {0}
run: |
yapf --parallel --diff --recursive .
- name: Ruff
shell: bash -l {0}
run: |
ruff check .
- name: mypy
shell: bash -l {0}
run: |
mypy --ignore-missing-imports mantidimaging
- name: pyright
shell: bash -l {0}
run: |
pyright mantidimaging
- name: pytest
timeout-minutes: 10
shell: bash -l {0}
run: |
python -m pytest --cov --cov-report=xml -n auto -o log_cli=true --ignore=mantidimaging/eyes_tests --durations=10
- name: Get test data
shell: bash -l {0}
run: |
curl -L https://github.com/mantidproject/mantidimaging-data/archive/refs/tags/small.zip --output small.zip
unzip -q small.zip -d ~
mv ~/mantidimaging-data-small ~/mantidimaging-data
timeout-minutes: 5
- name: GUI Tests System
shell: bash -l {0}
run: |
python -m pytest -vs -rs -p no:xdist -p no:randomly -p no:repeat -p no:cov -o log_cli=true --run-system-tests --durations=10
timeout-minutes: 15
- name: Set display resolution for screenshot tests
run: |
Set-DisplayResolution -Width 1920 -Height 1080 -Force
shell: pwsh
- name: GUI Tests Screenshots Applitools
if: github.event_name == 'pull_request'
shell: bash -l {0}
env:
APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }}
APPLITOOLS_BATCH_ID: ${{ github.sha }}
GITHUB_BRANCH_NAME: ${{ github.head_ref }}
run: |
python -m pytest -vs -rs -p no:xdist -p no:randomly -p no:repeat -p no:cov -o log_cli=true mantidimaging/eyes_tests --run-eyes-tests --durations=10
timeout-minutes: 15
# Label as 'windows-build-test' for testing purposes.
# To re-enable, use the if rule from the conda workflow and change label to 'unstable' after testing
- name: publish package
if: github.event_name == 'release' || (github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release')))
uses: ./.github/actions/publish-package
with:
label: unstable
token: ${{ secrets.ANACONDA_API_TOKEN_MANTIDIMAGING }}
token-old: ${{ secrets.ANACONDA_API_TOKEN }}