Skip to content

Add regression tests #39

Add regression tests

Add regression tests #39

Workflow file for this run

name: Regression tests
on:
workflow_dispatch:
pull_request:
branches: ['develop']
jobs:
regression_tests:
name: "Test: ${{ matrix.taskdir }}"
timeout-minutes: 1440
runs-on: self-hosted
defaults:
run:
shell: bash -el {0}
strategy:
fail-fast: false
matrix:
taskdir:
- test/isbi24
# - U2OS/default
# - U2OS/default/adapted
# - U2OS/default/adapted/isbi24
# - NIH3T3/default
# - NIH3T3/default/adapted
# - NIH3T3/default/adapted/isbi24
# - GOWT1-1/default
# - GOWT1-1/default/adapted
# - GOWT1-1/default/adapted/isbi24
# - GOWT1-2/default
# - GOWT1-2/default/adapted
# - GOWT1-2/default/adapted/isbi24
# - BBBC039
# - BBBC039/isbi24
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
miniconda-version: 'latest'
channels: conda-forge, bioconda, defaults
auto-update-conda: true
auto-activate-base: false
activate-environment: superdsm
environment-file: superdsm.yml
- name: Download image data
run: |
cd examples
python load_data.py
- name: Run SuperDSM
run: python -m "superdsm.batch" examples --task "${{ matrix.taskdir }}" --run
env:
SUPERDSM_INTERMEDIATE_OUTPUT: false
- name: Validate results
id: validation
run: |
mkdir -p "actual_csv/${{ matrix.taskdir }}"
python tests/regression/test.py \
"examples/${{ matrix.taskdir }}/seg" \
"actual_csv/${{ matrix.taskdir }}" \
"tests/regression/expected/${{ matrix.taskdir }}"
- name: Upload artifact
if: failure() && steps.validation.outcome != 'success'
uses: actions/upload-artifact@v3 ## v4 requires GLIBC_2.28 which is not found on host
with:
name: Results ${{ matrix.taskdir }}
path: actual_csv/${{ matrix.taskdir }}/*.csv