galaxyproject / galaxyproject/galaxy

Assertion checking in workflows

Open
#3,954 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.9k
Forks
1.2k
Avg merge
2d 7h
Merged PRs (30d)
167

Description

I would like to have the ability to do assertion checking in workflows, and if the assertion fails, stop the workflow. A couple of assert examples that would have helped me:

  1. I want to check that the values in a particular column are unique. If they aren't stop the workflow.
  2. Check that a dataset is not empty. If it isn't, stop the workflow.

One of those tests looks at values in the dataset. Another looks at the dataset as a whole. Not sure how best to implement assertions, how complex they can get, and what sorts of things can they test.

It would be nice to have the assertion display user-provided text if an error occurs.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. First clarify the assertion model and workflow integration, including dataset-wide and column-level checks and user-provided failure text; done means failed assertions reliably stop workflows and display the requested message.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.