@@ -41,4 +41,47 @@ Then you need to install pytest `conda install pytest pandas` and can then run t
4141using the command ` pytest ` .
4242
4343Each of the tests in the ` tests ` folder runs an OSeMOSYS model file and checks that
44- the output matches a given value.
44+ the output matches a given value.
45+
46+ ## Developers - Creating a new release and deploying to Github Releases
47+
48+ Creating a new release for OSeMOSYS GNU MathProg is as simple as creating a new semver
49+ compliant tag and pushing the tag to a branch. Travis CI will then run the tests, and
50+ if they pass, create the package using the ` makefile ` found in the root of the repository.
51+ The makefile includes the contents of the ` src ` and ` scripts ` folders, an html render of
52+ ` src/README.md ` and then zips them up deploying them to Github Releases and providing
53+ the contents of ` docs/changelog.md ` as a release description.
54+
55+ ### 1. Update the changelog
56+
57+ Add a new heading with the version number you will use and include a description
58+ of the changes since the last release.
59+
60+ It can be useful to view the log of git commits since the previous release using the
61+ following command:
62+
63+ git log <yourlasttag>..HEAD
64+
65+ ### 2. Run the tests locally
66+
67+ Follow the instructions provided to run the tests.
68+
69+ ### 3. Create a new tag and push to Github
70+
71+ Create a new annotated tag:
72+
73+ git tag -a v1.0.0 -m "A descriptive message for the release"
74+
75+ Please follow the Semantic Versioning [ guidelines] ( https://semver.org/ ) .
76+ To create an alpha or beta release (pre-release) you would do the following:
77+
78+ git tag -a v1.0.0-alpha.1 -m "An alpha release"
79+ git tag -a v1.0.0-beta.1 -m "An beta release"
80+ git tag -a v1.0.0 -m "First stable official release!"
81+
82+ ### 4. Check that the package is deployed successfully
83+
84+ You can follow the release process at the
85+ [ Travis CI service] ( https://travis-ci.com/github/OSeMOSYS/OSeMOSYS_GNU_MathProg/branches ) .
86+
87+ Finally, check that the release appears on the [ Github Releases page] ( https://github.com/OSeMOSYS/OSeMOSYS_GNU_MathProg/releases ) .
0 commit comments