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
* update to match current workflows
* test dynamically getting feature branch image
* add docker env setup, standardize commands and remove dedundancy
* add docker section
* shift docker development and make it sage vs external specific between readme and contributing docs
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+22-38Lines changed: 22 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,22 @@
3
3
4
4
We welcome all contributions! Please head to [issues](https://github.com/Sage-Bionetworks/Genie/issues) to either file any bugs/feature requests or find a task you want to assist with. Make sure to assign yourself the task if you decide to work on it.
5
5
6
+
## Table of Contents
7
+
8
+
-[Coding Style](#coding-style)
9
+
-[The Development Life Cycle](#the-development-life-cycle)
10
+
-[Fork and clone this repository](#fork-and-clone-this-repository)
11
+
-[Install development dependencies](#install-development-dependencies)
-[Contributing to the docs](#contributing-to-the-docs)
21
+
6
22
## Coding Style
7
23
8
24
This package uses `flake8` - it's settings are described in [setup.cfg](setup.cfg). The code in this package is also automatically formatted by `black` for consistency.
@@ -23,22 +39,7 @@ This package uses `flake8` - it's settings are described in [setup.cfg](setup.cf
23
39
24
40
### Install development dependencies
25
41
26
-
This will install all the dependencies of the package including the active branch of `Genie`. We highly recommend that you leverage some form of python version management like [pyenv](https://github.com/pyenv/pyenv) or [anaconda](https://www.anaconda.com/products/individual). There are two ways you can install the dependencies for this package.
27
-
28
-
#### pip
29
-
This is the more traditional way of installing dependencies. Follow instructions [here](https://pip.pypa.io/en/stable/installation/) to learn how to install pip.
30
-
31
-
```
32
-
pip install -r requirements-dev.txt
33
-
pip install -r requirements.txt
34
-
```
35
-
36
-
#### pipenv
37
-
`pipenv` is a Python package manager. Learn more about [pipenv](https://pipenv.pypa.io/en/latest/) and how to install it.
38
-
39
-
```
40
-
# Coming soon
41
-
```
42
+
This will install all the dependencies of the package including the active branch of `Genie`. We highly recommend that you leverage some form of python version management like [pyenv](https://github.com/pyenv/pyenv) or [anaconda](https://www.anaconda.com/products/individual). Follow [dependencies installation instruction here](./README.md#running-locally)
42
43
43
44
### Developing
44
45
@@ -54,17 +55,17 @@ The GENIE project follows the standard [git flow](https://www.atlassian.com/git/
54
55
git pull upstream develop
55
56
```
56
57
57
-
1. Create a feature branch which off the `develop` branch. If there is a GitHub/JIRA issue that you are addressing, name the branch after the issue with some more detail (like `{GH|JIRA}-123-add-some-new-feature`).
58
+
1. Create a feature branch which off the `develop` branch. If there is a GitHub/JIRA issue that you are addressing, name the branch after the issue with some more detail (like `{GH|GEN}-123-add-some-new-feature`).
58
59
59
60
```
60
61
git checkout develop
61
-
git checkout -b JIRA-123-new-feature
62
+
git checkout -b GEN-123-new-feature
62
63
```
63
64
64
-
1. At this point, you have only created the branch locally, you need to push this to your fork on GitHub.
65
+
1. At this point, you have only created the branch locally, you need to push this remotely to Github.
You should now be able to see the branch on GitHub. Make commits as you deem necessary. It helps to provide useful commit messages - a commit message saying 'Update' is a lot less helpful than saying 'Remove X parameter because it was unused'.
@@ -92,11 +93,8 @@ The GENIE project follows the standard [git flow](https://www.atlassian.com/git/
92
93
93
94
This package uses [semantic versioning](https://semver.org/) for releasing new versions. The version should be updated on the `develop` branch as changes are reviewed and merged in by a code maintainer. The version for the package is maintained in the [genie/__init__.py](genie/__init__.py) file. A github release should also occur every time `develop` is pushed into `main` and it should match the version for the package.
94
95
95
-
### Testing
96
-
97
-
#### Running test pipeline
98
96
99
-
Make sure to run each of the [pipeline steps here](README.md#developing-locally) on the test pipeline and verify that your pipeline runs as expected. This is __not__ automatically run by Github Actions and have to be manually run.
97
+
### Testing
100
98
101
99
#### Running tests
102
100
@@ -110,8 +108,6 @@ Here's how to run the test suite:
110
108
pytest -vs tests/
111
109
```
112
110
113
-
Tests in Python are also run automatically by Github Actions on any pull request and are required to pass before merging.
114
-
115
111
##### Tests in R
116
112
117
113
This package uses [`testthat`](https://testthat.r-lib.org/) to run tests in R. The test code is located in the [testthat](./R/tests/testthat) subdirectory.
@@ -166,18 +162,6 @@ Follow gitflow best practices as linked above.
166
162
12. Push changes in`develop`.
167
163
13. Wait for the CI/CD to finish.
168
164
169
-
### Modifying Docker
170
-
171
-
Follow this section when modifying the [Dockerfile](https://github.com/Sage-Bionetworks/Genie/blob/main/Dockerfile):
1. ```docker run --rm -it -e SYNAPSE_AUTH_TOKEN=$YOUR_SYNAPSE_TOKEN<some_docker_image_name>```
176
-
1. Run [test code](README.md#developing-locally) relevant to the dockerfile changes to make sure changes are present and working
177
-
1. Once changes are tested, follow [genie contributing guidelines](#developing) for adding it to the repo
178
-
1. Once deployed to main, make sure the CI/CD build successfully completed (our docker image gets automatically deployed via Github Actions CI/CD) [here](https://github.com/Sage-Bionetworks/Genie/actions/workflows/ci.yml)
179
-
1. Check that your docker image got successfully deployed [here](https://github.com/Sage-Bionetworks/Genie/pkgs/container/genie)
180
-
181
165
### Contributing to the docs
182
166
183
167
This [documentation](https://sagebionetworks.jira.com/wiki/spaces/APGD/pages/3369631808/Contributing+to+Main+GENIE+repository+docs) is internal to Sage employees.
0 commit comments