-
Notifications
You must be signed in to change notification settings - Fork 241
Steps To Create An Official Manuskript Release
Following is a DRAFT proposal for the steps to follow when creating an official manuskript release.
These steps are intended to be a work in progress and to be updated as more experience is gained.
- All enhancements are made to the develop branch
- The master branch represents the current production release
- N-1 is the current production release (e.g., 0.6.0)
- N is the upcoming version about to be released (e.g., 0.7.0)
- N+1 is a release at some unknown point in the future (e.g., 0.8.0)
-
FINISH DEVELOPMENT AND TESTING
- Complete development, documentation, and testing for upcoming release.
-
CREATE RELEASE AREA AND CLEANUP MILESTONES FOR ISSUES AND PULL REQUESTS
-
Create new draft release area for N.
-
Close current project release milestone N-1.
-
Ensure all issues and pull requests are completed for milestone N, or move to a different milestone.
-
Create future release milestone N+1.
-
-
NOTIFY TRANSLATION TEAMS OF UPCOMING RELEASE
Need input from @olivierkes as I am unfamiliar with translation process.
-
Contact translation members about upcoming release in 1 week?
During this week no changes to strings are allowed.
Ideally no changes are made to the source code other than translation updates. -
Incorporate translation updates
-
-
PREPARE CHANGELOG
-
Generate changelog.
git checkout develop github_changelog_generator -u olivierkes -p manuskript \ --token {MyChangelogGithubToken}
-
Edit
CHANGELOG.md
to adjust for release number.
-
-
PREPARE SOURCE CODE FOR PRODUCTION RELEASE
-
Update
manuskript/version.py
version number for production release -
Test that manuskript can start and open a project
-
Commit
manuskript/version.py
andCHANGELOG.md
git status git add manuskript/version.py CHANGELOG.md git commit -m "========== manuskript-x.y.z =========="
-
Check git tree
gitk --all
-
Push updates to the develop branch
git push
-
-
ADD DEVELOPMENT CHANGES TO MASTER BRANCH FOR OFFICIAL RELEASE
-
Merge develop branch into master branch.
git checkout master git merge develop
-
Stamp production version label on git repository
git tag -a X.Y.Z -m "manuskript-x.y.z release"
-
Push updates to the git repository
git push git push --tags
-
-
PREPARE RELEASE PACKAGES
-
GNU/Linux
-
.deb - Automatically generated by
package/create_deb.sh
(See Package Manuskript for Linux with dpkg) - .rpm - Manually create with Package Manuskript for Linux with rpm
-
.deb - Automatically generated by
-
Mac OS X
- Automatically generated by
package/prepare_osx.sh
(See Package Manuskript for OS X with PyInstaller)
- Automatically generated by
-
Windows
- Manually create with Package Manuskript for Windows with PyInstaller
-
-
UPLOAD RELEASE PACKAGES
- Ensure all packages are uploaded to release area whether automatically or manually created.
-
UPDATE PROJECT WEB SITE
-
Update Download page
-
Announce new release on http://www.theologeek.ch/manuskript/
-