Warning
To create new processes look at examples in Emu.
First install dependencies for the documentation:
$ make develop
Run the Sphinx docs generator:
$ make docs
Run tests using pytest.
First activate the finch
Conda environment and install pytest
.
$ source activate finch
$ pip install -r requirements_dev.txt # if not already installed
# or
$ make develop
Run quick tests (skip slow and online):
$ pytest -m 'not slow and not online'"
Run all tests:
$ pytest
Check code formatting compliance:
$ pre-commit run --all-files
Do the same as above using the Makefile
.
$ make test
$ make test-all
$ make lint
To update the conda specification file for building identical environments on a specific operating system:
Note
You should perform this regularly within your Pull Requests on your target OS and architecture (64-bit Linux).
$ conda env create -f environment.yml
$ source activate finch
$ make clean
$ make install
$ conda list -n finch --explicit > spec-file.txt
In order to prepare a new release version of Finch, perform the following steps in a new branch:
- Update
CHANGES.rst
with the release notes for the next version.- Push changes to GitHub.
- Open a Pull Request with an appropriate title and description. (e.g. "Prepare release v1.2.3")
- After merging changes to the main branch, click on the Actions tab and select the "Bump Version and Tag for Release" workflow.
- Adjust the information as needed ("Bump version": "patch" or "minor" or "major"; "Tag": "true" or "false") the "Run Workflow" button on the main branch.
- After the workflow has completed, the new version will be tagged and pushed to GitHub.
- Create a new release on GitHub using the newly tagged commit with the same version number as the tag:
- The release title should be the same as the tag name.
- The release description should be the same as the release notes in
CHANGES.rst
.