mirror of
https://github.com/openmm/openmmforcefields.git
synced 2026-06-06 18:39:48 +09:00
46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# Development, testing, and deployment tools
|
|
|
|
This directory contains a collection of tools for running Continuous Integration (CI) tests,
|
|
conda installation, and other development tools not directly related to the coding process.
|
|
|
|
|
|
## Manifest
|
|
|
|
### Conda Environment:
|
|
|
|
This directory contains the files to setup the Conda environment for testing purposes
|
|
|
|
* `conda-envs`: directory containing the YAML file(s) which fully describe Conda Environments, their dependencies, and those dependency provenance's
|
|
* `test_env.yaml`: Simple test environment file with base dependencies. Channels are not specified here and therefore respect global Conda configuration
|
|
|
|
|
|
## How to contribute changes
|
|
- Clone the repository if you have write access to the main repo, fork the repository if you are a collaborator.
|
|
- Make a new branch with `git checkout -b {your branch name}`
|
|
- Make changes and test your code
|
|
- Ensure that the test environment dependencies (`conda-envs`) line up with the build and deploy dependencies (`conda-recipe/meta.yaml`)
|
|
- Push the branch to the repo (either the main or your fork) with `git push -u origin {your branch name}`
|
|
* Note that `origin` is the default name assigned to the remote, yours may be different
|
|
- Make a PR on GitHub with your changes
|
|
- We'll review the changes and get your code into the repo after lively discussion!
|
|
|
|
|
|
## Checklist for updates
|
|
- [ ] Make sure there is an/are issue(s) opened for your specific update
|
|
- [ ] Create the PR, referencing the issue
|
|
- [ ] Debug the PR as needed until tests pass
|
|
- [ ] Tag the final, debugged version
|
|
* `git tag -a X.Y.Z [latest pushed commit] && git push --follow-tags`
|
|
- [ ] Get the PR merged in
|
|
|
|
## Versioneer Auto-version
|
|
[Versioneer](https://github.com/warner/python-versioneer) will automatically infer what version
|
|
is installed by looking at the `git` tags and how many commits ahead this version is. The format follows
|
|
[PEP 440](https://www.python.org/dev/peps/pep-0440/) and has the regular expression of:
|
|
```regexp
|
|
\d+.\d+.\d+(?\+\d+-[a-z0-9]+)
|
|
```
|
|
If the version of this commit is the same as a `git` tag, the installed version is the same as the tag,
|
|
e.g. `openmmforcefields-0.1.2`, otherwise it will be appended with `+X` where `X` is the number of commits
|
|
ahead from the last tag, and then `-YYYYYY` where the `Y`'s are replaced with the `git` commit hash.
|