Skip to content
Wolf Rentzsch edited this page Jan 31, 2019 · 3 revisions

Background

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.

Pass Tests

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

Bump Version

Look for the line in mogenerator.m like:

printf("mogenerator 1.32. By Jonathan 'Wolf' Rentzsch + friends.\n");

Bump Copyright Years

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.

Documentation

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.

Create the GitHub Release

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)

Update Homebrew

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

Update the Pretty Homepage

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