OSeMOSYS / OSeMOSYS_GNU_MathProg

The GNU MathProg implementation of OSeMOSYS
Apache License 2.0
9 stars 14 forks source link

Automated packaging and release process for OSeMOSYS GNU MathProg #56

Closed willu47 closed 3 years ago

willu47 commented 3 years ago

The process is documented in the main README.md duplicated below.

Creating a new release for OSeMOSYS GNU MathProg is as simple as creating a new semver compliant tag and pushing the tag to a branch. Travis CI will then run the tests, and if they pass, create the package using the makefile found in the root of the repository. The makefile includes the contents of the src and scripts folders, an html render of src/README.md and then zips them up deploying them to Github Releases and providing the contents of docs/changelog.md as a release description.

1. Update the changelog

Add a new heading with the version number you will use and include a description of the changes since the last release.

It can be useful to view the log of git commits since the previous release using the following command:

git log <yourlasttag>..HEAD

2. Run the tests locally

Follow the instructions provided to run the tests.

3. Create a new tag and push to Github

Create a new annotated tag:

git tag -a v1.0.0 -m "A descriptive message for the release"

Please follow the Semantic Versioning guidelines. To create an alpha or beta release (pre-release) you would do the following:

git tag -a v1.0.0-alpha.1 -m "An alpha release"
git tag -a v1.0.0-beta.1 -m "An beta release"
git tag -a v1.0.0 -m "First stable official release!"

4. Check that the package is deployed successfully

You can follow the release process at the Travis CI service.

Finally, check that the release appears on the Github Releases page.

tniet commented 3 years ago

Hi @willu47 - this looks really good. Was there something specific you wanted me to review, or just the overall concept/structure? If the latter, I'm happy to have this merged.

willu47 commented 3 years ago

Hi @tniet - thanks for taking a look. It would be helpful if you could have a read through the documentation/instructions I've provided and see if they make sense. Also, please could you download the zip associated with the latest release package and see if you can unzip it, and everything there works for you? I haven't yet tested this on Windows either...

tniet commented 3 years ago

Hi @willu47 @abhishek0208 - The documentation/instructions, the zip file and the information in it seems to make sense to me, so I'm good with this pull request being merged.