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

Update PR template #37

Merged
merged 3 commits into from
Dec 6, 2023
Merged

Update PR template #37

merged 3 commits into from
Dec 6, 2023

Conversation

nwiltsie
Copy link
Member

This updates and fills in the templated parts of the pull request template.

In addition to removing the template text and cleaning up a few markdown quirks, I overhauled the Testing Results section. My impression is that users (myself included) almost never completely fill out the existing "Case 1: sample, input csv, ..." table (if we do at all). I switched instead to "requiring" the path to and the last few lines of the NFTest log file, or a justification of why testing isn't required (for example, this PR doesn't require testing because it's a documentation-only change). If/when anyone cares to go digging, the NFTest logfile has the details of the test run and is stored adjacent to the output files themselves.

This is functionally identical to what I wrote up for #36, and I think it's simultaneously more informative and more usable, but I welcome any feedback on it! If everyone likes it I think this (or something like it) could be a good template to apply to other repos making use of NFTest.

Checklist

  • I have read the code review guidelines and the code review best practice on GitHub check-list.

  • I have reviewed the Nextflow pipeline standards.

  • The name of the branch is meaningful and well formatted following the standards, using [AD_username (or 5 letters of AD if AD is too long)]-[brief_description_of_branch].

  • I have set up or verified the branch protection rule following the github standards before opening this pull request.

  • I have added my name to the contributors listings in the manifest block in the nextflow.config as part of this pull request, am listed
    already, or do not wish to be listed. (This acknowledgement is optional.)

  • I have added the changes included in this pull request to the CHANGELOG.md under the next release version or unreleased, and updated the date. I don't want to conflict with Make output deterministic, add NFTest case #36 for now

  • I have updated the version number in the metadata.yaml and manifest block of the nextflow.config file following semver, or the version number has already been updated. (Leave it unchecked if you are unsure about new version number and discuss it with the infrastructure team in this PR.)

  • I have tested the pipeline on at least one A-mini sample.

@yashpatel6
Copy link
Collaborator

@uclahs-cds/nextflow-wg Any comments/suggestions for the PR template here?

Copy link

@j2salmingo j2salmingo left a comment

Choose a reason for hiding this comment

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

Generally looks good to me, I have very minor comments

- input csv: <!-- path/to/input.csv -->
- config: <!-- path/to/xxx.config -->
- output: <!-- path/to/output -->
<!-- If you did not run NFTest, please justify _why_ you feel your changes

Choose a reason for hiding this comment

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

Would it help a reviewer if the justification for not running a test was under a subheader?

Copy link
Member Author

@nwiltsie nwiltsie Dec 1, 2023

Choose a reason for hiding this comment

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

My read is no, just in the interest of keeping things streamlined.

If I did run the tests, the "test skip justification" header is just one more chunk of text that I need to remove.

If I didn't run the tests, the existence of that header would remove a little bit of the social pressure to go back and do so, because clearly other people skip the tests too.

The fact that the CHANGELOG checkbox says "I have added the changes included in this pull request to the CHANGELOG.md" without any weasel words ("I have added the major changes", "I have added the important changes", etc.) has made me go back and update it at the last second. That's the tone I'm going for here with test running.

Totally a debatable topic though! Thoughts?

Copy link

Choose a reason for hiding this comment

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

I also prefer the current single heading format. In my mind, it's really streamlined for review because you can look in one place and see either the tests or the absence of tests with justification. They're both the same step of "checking tests"

.github/PULL_REQUEST_TEMPLATE.md Outdated Show resolved Hide resolved
Copy link
Contributor

@sorelfitzgibbon sorelfitzgibbon left a comment

Choose a reason for hiding this comment

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

LGTM. One minor suggested edit.

.github/PULL_REQUEST_TEMPLATE.md Outdated Show resolved Hide resolved
understand:
* How you tested the pipeline
* How others can test it (including paths to config and YAML files)
* How the results demonstrate the changes in this PR. Examples of this
Copy link

@kiarod kiarod Dec 1, 2023

Choose a reason for hiding this comment

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

Think the note about "How the results demonstrate the changes in this PR" is great to include Nick. It's good to know why any additional cases outside of the standard NFTest checks were important.

Have you considered adding this justification as one of the explicit fields below 'Additional Case 1'?

Copy link
Member Author

Choose a reason for hiding this comment

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

I couldn't think of a good formalization of this that would fit into the existing bulleted list - every prompt I could come up with was just repeating this comment again. Do you have any suggestions?

Copy link

@kiarod kiarod Dec 1, 2023

Choose a reason for hiding this comment

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

yeah it's a bit tough to pin down. In general NFTest would(should) catch any changes that would break the pipeline or corrupt the output, so additional tests would have to be for changes that don't change the final output but change how the final output is produced? right? or am I missing a scenario where additional tests would be used?

candidate field names:
'why' --succinct but maybe too undirected.
'necessity of test' --straightforward but wordy.
'signal tested' --if it's not an change to output, what was the signal that was used to see if the test passed?

am I on the right track here?

Copy link

@kiarod kiarod left a comment

Choose a reason for hiding this comment

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

Left some minor comments, but otherwise thought it was a great improvement! Nice work Nick

Copy link

@tyamaguchi-ucla tyamaguchi-ucla left a comment

Choose a reason for hiding this comment

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

Updating the template to encourage the use of NFTest makes sense to me! Anything else to add? @uclahs-cds/nextflow-wg

@nwiltsie nwiltsie merged commit 8d2d709 into main Dec 6, 2023
1 check passed
@nwiltsie nwiltsie deleted the nwiltsie_update_pr_template branch December 6, 2023 17:18
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.

9 participants