You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+30Lines changed: 30 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -186,6 +186,36 @@ This often provides additional considerations and avoids unnecessary work.
186
186
the PR as a draft first and mark it as ready for review after the feedbacks
187
187
from the continuous integration (CI) system or any required fixes.
188
188
189
+
### Special Considerations for Contributing External Tests
190
+
191
+
In `py-dcqc`, any test where the primary business logic is executed outside of this package itself is considered to be external. One example is the `LibTiffInfoTest`. For these tests, `py-dcqc` is responsible for packaging up a Nextflow process which is then executed in an [nf-dcqc](https://github.com/Sage-Bionetworks-Workflows/nf-dcqc) workflow run. Such tests are not possible to run in `py-dcqc` alone at this time. This makes contributing, testing, debugging, and using external tests a little more complicated that internal tests such as the `Md5ChecksumTest` which has all of its logic built into this package.
192
+
193
+
When contributing an external test, following these steps may be helpful:
194
+
195
+
1. Follow the steps above to set up `py-dcqc` and create your contribution.
196
+
197
+
2. Follow the instructions in the [README.md](https://github.com/Sage-Bionetworks-Workflows/nf-dcqc/blob/dev/README.md)
198
+
file in the `nf-dcqc` respository to set up the workflow on your local machine.
199
+
- Run `git checkout dev` to switch to the developer branch
200
+
201
+
3. Build your local version of `py-dcqc` with your new changes with:
202
+
```console
203
+
src/docker/build.sh
204
+
```
205
+
NOTE: This step assumes that you have docker installed and that it is running, and that you have `pipx` installed.
206
+
207
+
4. Follow `nf-dcqc` instructions to create a `nextflow run` command that tests your contribution.
208
+
- You should include at least two files in your `nf-dcqc` input file ([example](https://github.com/Sage-Bionetworks-Workflows/nf-dcqc/blob/dev/testdata/input_full.csv)), one that you expect to pass your contributed test, and one that you expect to fail.
209
+
- Include the `local` profile so that the workflow leverages your locally built `py-orca` container
210
+
211
+
Example command (executed from within your local `nf-dcqc` repo clone):
0 commit comments