Making a Timeline release¶
Preparations on main¶
- Check that information is correct in changelog.rst
Check
Commit “Updated changes”
- Check that information is correct in about.py and AUTHORS
Check developers
Check contributors
- Check translators
Check in LaunchPad for contributors that has an e-mail address.
Commit “Updated about”
- For Windows build - check that all plugins are imported
Add imports for new plugins, last in the file releasewincmdmod2_factory_py.py
Feature freeze¶
When all features for a major version (x.y) have been implemented in main we move the development for that version over to stable. In stable we prepare for the (x.y.0) release and then continue to do bugfix releases (x.y.1, x.y.2, ..) there.
Features for the next version (x.y+1) can continue to be developed in main.
- Move main repo to stable repo
cd stable
hg pull ../main
hg update
hg push
- Import translations from Launchpad
Request download from here (login required) http://translations.launchpad.net/thetimelineproj/trunk/+translations Format: PO format
Run “python3 tools/import-po-from-launchpad-export.py /path/to/launchpad-export.tar.gz”
This script updates the .po files
Commit “import translations”
- Update Timeline.iss
Check that all po files found in the directory wintimelinetranslations also are mentioned in the mainreleasewininnoTimeline.iss file.
Commit “Added po info to iss-file”
- Check that version numbers are correct in timelinelib/meta/version.py
Check version number
Change to “DEV = False”
Commit “0.xx.0 Changed version for release”
- Check that information is correct in changelog.rst
Change Planned -> Released Update versions.timeline. (release/versions.timeline)
Commit “Updated changes”
Pull these changes into main.
- Check that information is correct in about.py
Check developers
Check contributors
Check translators
Commit “Updated about”
Pull these changes into main.
- Run “python3 tools/execute-specs.py” to find possible errors
Fix errors
Commit
Pull these changes into main.
- Run “python3 release/make-source-release.py”
This script creates the file timeline-x.y.0.zip file
It also runs the tests as in section 5.
- Try running the unzipped release to make a basic check that it works
Mail copies to all developers, to let them test before publishing
Tag the release 1. Run “hg tag x.y.z”
Update repository 1. hg push
Launchpad¶
- Upload new pot-file (So that new texts are found)
Create new pot-file Run the script tools/generate-pot-file.py
- Request upload from here (login required)
http://translations.launchpad.net/thetimelineproj/trunk/+translations
- Status of upload can be checked at
https://translations.launchpad.net/thetimelineproj/trunk/+imports
Work on main¶
- Move stable repo to main repo
cd main
hg pull ../stable
hg push
- Change versions numbers in main to denote the next version (x.y+1.0)
version.py
changelog.rst
README
Run “python3 tools/execute-specs.py” to find where else you need to modify
Commit and push
Publish¶
Upload the timeline-0.xx.0.zip file to Source Forge
- Create windows binary package and upload to Source Forge
copy stable to new directory
Execute build script to create install-exe “stable-copyreleasewincmdbuild_install_exe.cmd”
Test the install-exe execute stable-copybinSetupTimeline9nn9Py2Exe.exe
Try running the installed Timeline to make a basic check that it works
- Upload the install file to Source Forge
Ensure that the exe file has “Default Download For” Windows checkbox checked and ensure that the the zip file has all the others checked
- Make release announcement:
Post news to SF (http://sourceforge.net/p/thetimelineproj/news/?source=navbar) You need to login
Post news to Freecode (https://freecode.com/projects/timeline-2) You need to login
- Notify developers of repo change
Send email to thetimelineproj-user@lists.sourceforge.net