-
Notifications
You must be signed in to change notification settings - Fork 395
Release Steps
In general, the mogenerator project follows the basic thrust of Optimistic Merging.
Nowadays Travis CI automatically tests every incoming Pull Requests, so there's less of a need to immediately merge all code changes into the master
branch. That said, master
can and will be broken (tests failing) as development proceeds (but shouldn't be broken for extended periods of time).
Public releases are tagged and documented using GitHub's Releases feature.
Check Travis CI to ensure the automated tests are still passing.
Then, test locally as well:
mac$ cd /path/to/mogenerator
mac$ git checkout master
mac$ git pull
mac$ cd test
mac$ rake
Look for the line in mogenerator.m
like:
printf("mogenerator 1.32. By Jonathan 'Wolf' Rentzsch + friends.\n");
Look for a header line like this:
Copyright (c) 2006-2019 Jonathan 'Wolf' Rentzsch: http://rentzsch.com
in these files:
mogenerator.h
mogenerator.m
LICENSE
test/Rakefile
and update to the current year as necessary.
Comb through the Pull Requests and Commits, building up the README.md
's new Version History entry.
- Order of the version's bullets should be:
[NEW]
[CHANGE]
[DOC]
[FIX]
[TEST]
Migrate the previous Version History entry into Version-History.md
. README.md
should only have the latest's release version history.
https://github.com/rentzsch/mogenerator/releases/new
Tag version: 1.32 (no "v" prefix)
Target: master
Release title: 1.32
Write: (Markdown bullets copied from latest Version History entry from README.md
)
Backgrounder: https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request
Bash commands:
mac$ VERSION=1.32
mac$ curl -OL "https://github.com/rentzsch/mogenerator/archive/$VERSION.tar.gz"
mac$ shasum -a 256 $VERSION.tar.gz
Fork https://github.com/Homebrew/homebrew-core
mac$ cd $(brew --repository homebrew/core)
mac$ git remote add <YOUR_USERNAME> https://github.com/<YOUR_USERNAME>/homebrew-core.git
mac$ git checkout master
mac$ brew update
mac$ git checkout -b mogenerator-$VERSION origin/master
mac$ brew edit mogenerator
# update the url and sha256 fields
mac$ brew tests
mac$ brew uninstall --force mogenerator
mac$ brew install --build-from-source mogenerator
mac$ brew test mogenerator
mac$ brew audit --strict mogenerator
mac$ git add Formula/mogenerator.rb
mac$ git commit -m "mogenerator $VERSION"
mac$ git push --set-upstream <YOUR_USERNAME> mogenerator-$VERSION
mac$ brew uninstall --force mogenerator
mac$ git checkout master
mac$ brew install mogenerator
Goto https://github.com/Homebrew/homebrew-core and create a Pull Request. Wait until the Homebrew guys process the update.
After the Pull Request is accepted:
- Delete your homebrew-core fork
brew update && brew uninstall --force mogenerator && brew install mogenerator
mac$ git checkout gh-pages
mac$ $EDITOR index.html # Update "latest release" line
mac$ git commit -am "1.32"
mac$ git push origin gh-pages
mac$ git checkout master