Standard Workflow
This page describes the standard workflow for contributing to the mecfs_bioinformatics repository.
Create a new branch
Use checkout to create a new branch for your changes.
Make changes
Implement your changes. Typically, this will involve:
- Defining a new
Taskobject in the assets directory. This can often be accomplished using an existingTaskclass, but if noTaskclass meets your needs, you can implement a new one in the task directory. - Adding an analysis script to materialize the new asset you defined.
If you added a new Task class, you will also want to add a unit test to the test_mecfs_bio directory to verify that it works as intended on some dummy data. To read about the principles of unit testing, see Winters et al.2 1.
Update documentation
If any documentation changes are needed, edit the corresponding files in the docs directory, then view the results by running the following command and accessing http://localhost:8000 in your browser.
sdocs will both download figures and serve docs. To only serve docs without downloading figures, use pixi r invoke serve-docs.
Run linters, formatters, and tests
The invoke green command runs linters, formatters, and tests. Run it with
It is advisable to run invoke green and fix any detected errors prior to submitting a PR.
Commit changes, create a PR
Commit your changes and push them
git add mecfs_bio test_mecfs_bio; git commit -m '<your message>';git push --set-upstream origin <branchname>
-
Titus Winters, Tom Manshreck, and Hyrum Wright. Software engineering at Google: Lessons learned from programming over time. " O'Reilly Media, Inc.", 2020. URL: https://abseil.io/resources/swe-book/html/toc.html. ↩