-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #13 from NatalieThurlby/dev
Dev
- Loading branch information
Showing
1 changed file
with
16 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,11 +3,12 @@ | |
[//]: # (TODO: Write about all-contributors, how to contribute ideas, PRs, etc) | ||
|
||
## Developers | ||
Ontolopy was developed by Natalie Thurlby. Please [contact me](mailto:[email protected]) for any communications related to Ontolopy. | ||
Ontolopy was developed by Natalie Thurlby. | ||
Please [contact me](mailto:[email protected]) for any communications related to Ontolopy. | ||
|
||
## Philosophy | ||
Ontolopy was developed for [Natalie's thesis](https://nataliethurlby.github.io/phenotype_from_genotype). | ||
While Ontolopy benefits from Research Software Engineering best practices such as automated testing, created versioned docs, and continuous integration, to some degree, there is also much more that could be done to increase test coverage and usability. | ||
While to some degree, Ontolopy benefits from Research Software Engineering best practices such as automated testing, semantic versioning, versioned docs, and continuous integration, there is also much more that could be done to increase reliability and usability (particularly in terms of test and tutorial coverage). | ||
|
||
Please see the [roadmap](./roadmap) to read about future directions for Ontolopy. | ||
|
||
|
@@ -23,33 +24,26 @@ Ontolopy uses the following conventions and programming style: | |
- Relative imports should be used at all times, with imports ideally delayed until they are needed. | ||
|
||
### Development workflow | ||
1. Create a new GitHub issue or comment on an existing issue, saying what you are planning on working on and when. | ||
2. Develop on a feature branch, which should branch off the `main` branch. | ||
3. Create a PR (Pull Request) from the feature branch to the `dev` branch (this will trigger tests through the `run-tests.yml` GitHub Action) | ||
- test locally before pushing (run `pytest` at root) to GitHub | ||
|
||
### Install local development version | ||
local development: | ||
`python3 setup.py sdist` | ||
`pip3 install -e .` | ||
|
||
## Build local docs | ||
`cd docs` | ||
|
||
`sphinx-build . _build/html` | ||
|
||
## Release | ||
This is the current process for releasing: | ||
1. Create a [new GitHub issue](https://github.com/NatalieThurlby/ontolopy/issues/new) or comment on an existing issue, saying what you are planning on working on and when. | ||
2. Develop on a feature branch, which should branch off the `main` branch: | ||
- To test locally, run `pytest` at root. | ||
- Build the book locally, run `sphinx-build docs docs/_build/html`. | ||
- To build dist files locally, run `python3 setup.py sdist`, and to install those local dist files, you can run `pip3 install -e .`. | ||
3. Create a [new PR](https://github.com/NatalieThurlby/ontolopy/compare) (Pull Request) from the feature branch to the `dev` branch (this will trigger tests through the `run-tests.yml` GitHub Action) | ||
|
||
### Creating a new release | ||
This is the current process for creating a new PyPI and GitHub release: | ||
- Once the PR from dev into main is passing all checks | ||
- Someone will approve the PR from `dev` into `main` | ||
- Run `python3 setup.py sdist bdist_wheel` on `main` to create dist files to upload when doing GitHub release. | ||
- fill in the changelog in the docs | ||
- edit the drafted release, filling in the checklist | ||
- Create a [new release](https://github.com/NatalieThurlby/ontolopy/releases/new), filling in the checklist | ||
- copy the changelog to the GitHub release | ||
- tag the release with the **exact same version number** as the number in `ontolopy/version.py` (the action will fail otherwise) | ||
- this will automatically run a GitHub action that distributes the package on pypi and stores a version of the docs that will remain available. | ||
- upload the distribution files. | ||
- Creating the release will automatically run a GitHub action that distributes the package on pypi and stores a version of the docs that will remain available. Check that it was successful. | ||
|
||
## Ontolopy GitHub Actions | ||
### Ontolopy's GitHub Actions | ||
Ontolopy uses GitHub Actions for Continuous Integration to automate updating the docs, running tests, and distributing the package. | ||
The actions are: | ||
- [`deploy-site.yml`](https://github.com/NatalieThurlby/ontolopy/actions/workflows/deploy-site.yml): deploys docs (latest) when changes are pulled into `dev`. | ||
|