Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fastsurfer Singularity workflow to quick test new code before merging #496

Merged
merged 5 commits into from
Mar 28, 2024

Conversation

taha-abdullah
Copy link
Contributor

@taha-abdullah taha-abdullah commented Mar 25, 2024

This PR adds a workflow to test new code inside a Singularity container, running on a local runner, before it is merged into the dev branch. It also adds some quick tests to evaluate the new code and includes documentation for how to set up and run the workflow and tests.

.github/workflows/

fastsurfer_singularity.yaml

  • workflow to build and test new code in a Singularity container running on a local GitHub Actions runner

singularity_workflow.md

  • dcumentation explaining how to run fastsurfer_singularity.yaml

test/

quick_test/

  • test_file_existence.py

    • unittest to check if all necessary files are present in FastSurfer output
  • test_errors.py

    • unittest to check if errors are present in FastSurfer log files

data/

  • files.yaml

    • YAML file containing filenames that should be present in FastSurfer output
  • errors.yaml

    • YAML file containing error criteria

Switching from Docker to Singularity:
The workflow originally used Docker but was switched to Singularity later on.

Removed extra workflows used for local testing

Removed extra files used for local testing

documentation for the fastsurfer singularity test workflow

Delete test/__pycache__ directory

Update fastsurfer_singularity.yaml

converting tests to run on singularity

Switching from Docker to Singularity

changed runner to ci-gpu

Deleted old action files

Changed the name of FastSurfer actions to differentiate between Docker and Singularity

Resolved issues from code review

added fastsurfer_singularity.yaml to run FastSurfer in singularity container

fixed issues in test_file_existence

completed implementation of tests through command line arguments instead of yaml files

Taking yaml files using command line arguments

Implemented script to check for errors in log files

Adding a file existence test to make sure all the
files that are supposed to be in the results are
actually there.

making jobs sequential by adding dependencies

Added environment variables for MRI data and output

renaming the workflow to 'FastSurfer Docker Image Build'

Building GPU FastSurfer Image and running analysis

simple workflow to test if self hosted runner 'dirac' is running correctly
.github/workflows/fastsurfer_singularity.yaml Outdated Show resolved Hide resolved
.github/workflows/fastsurfer_singularity.yaml Outdated Show resolved Hide resolved
.github/workflows/singularity_workflow.md Outdated Show resolved Hide resolved
test/quick_test/test_errors.py Outdated Show resolved Hide resolved
test/quick_test/test_errors.py Outdated Show resolved Hide resolved
test/quick_test/test_errors.py Outdated Show resolved Hide resolved
test/quick_test/test_errors.py Outdated Show resolved Hide resolved
test/quick_test/test_errors.py Outdated Show resolved Hide resolved
test/quick_test/test_file_existence.py Outdated Show resolved Hide resolved
test/quick_test/test_errors.py Outdated Show resolved Hide resolved
- added errors and whitelists

QUICKTEST.md:
- renamed from singularity_workflow.md

quicktest.yaml:
- renamed from singularity_workflow.md
- fixed typo

test_errors.py:
- using pathlib.Path instead of os.path
- added context for errors
- improved error output to give more information about the errors

test_file_existence.py:
- using pathlib.Path instead of os.path

in test-error-messages:
- changed file name to test/quick_test/test_errors.py
- replacing hardcoded 'stable' branch with the current working branch so docs point to current branch code
This reverts commit 813be12.
Copy link
Member

@dkuegler dkuegler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks

.github/workflows/QUICKTEST.md Outdated Show resolved Hide resolved
.github/workflows/QUICKTEST.md Outdated Show resolved Hide resolved
.github/workflows/quicktest.yaml Outdated Show resolved Hide resolved
.gitignore Show resolved Hide resolved
test/quick_test/test_errors.py Outdated Show resolved Hide resolved
.gitignore Outdated Show resolved Hide resolved
test/__init__.py Outdated Show resolved Hide resolved
@m-reuter m-reuter merged commit 58820ee into Deep-MI:dev Mar 28, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants