-
Check David Farrell's repo for issues (dnmfarrell/berrybrew), and fix if necessary
-
git checkoutthe branch that's to be merged intomaster -
git pullto ensure we're up-to-date -
If configuration directives have been added, removed or modified in the
data\config.jsonthat are part of the new release, copy that file to thedev\data\directory -
Ensure all unit tests pass per Unit testing
-
Execute the
perl dev\release.plscript, which:- Compile the
berrybrew.exebinary andbbapi.dllAPI library - Compile the
berrybrew-ui.exeUI binary - Collect the JSON configuration files from the
dev\datadirectory - Build the bundled zip archive, and places it into the
download/directory - Updates the MSI installer script with berrybrew and perl version info
- Creates the MSI installer program
- Perform SHA checksum tasks on the new zip archive and MSI installer
- Update the
README.mdfile with the zip and installer's new SHA sum - Update the
README.mdfile with the new version from the API'sVersion()method - Sets the date in the Changes file for the release version
- Creates a Markdown version of the Changes file
- Compile the
-
If you had any custom configuration files in place before running the
dev\release.plscript, runperl dev\post_release.plto put them back to their proper location -
On a clean platform, run the self-extracting installer from the
download/directory, and ensure that both theberrybrew, and Perl versions are correct -
git commit -a -m "release x.xx" -
git push -
Ensure everything looks proper within the newly published release branch
-
In Github, create a new Pull Request from the release branch, and merge it into the master branch
-
Check out master and ensure everything appears proper within the master branch
git checkout mastergit pullbin\berrybrew version(should be the updated version number)
-
Tag the new master branch as a release, and push it
git tag vx.xxgit push --tags
-
Update David Farrell's
berrybrewrepository:git clone https://stevieb9@github.com/dnmfarrell/berrybrew bb-dnmcd bb-dnmgit remote add stevieb9 https://github.com/stevieb9/berrybrewgit pull stevieb9 mastergit push
-
Close off any issues in David's dnmfarrell/berrybrew repository
-
Delete the merged branch in Github
-
Check out the updated
masterbranch:git checkout master -
Ensure it's up-to-date:
git pull -
Locally, create a new branch:
git checkout -b vx.xx -
Update the
Version()method insrc\berrybrew.csfile with the new version -
Add the following to the
Changesfile:x.xx UNREL
-
Commit the changes:
git commit -a -m "bumped to ver x.xx
-
Push the new branch to Github:
git push -u origin vx.xx
-
Check out the version branch:
git checkout vx.xx -
Ensure it's up-to-date:
git pull -
Create a working branch:
git checkout -b some_feature, and perform your work -
Push the new branch after making commits:
git push origin some_feature -
After all tests pass, create a Pull Request for the feature branch into the new version branch
-
Check out the new version branch
git checkout vx.xxand update:git pull -
Run all unit tests
-
Repeat this Release Cycle