Release process for publishing a new KDevelop version
This list explains how to obtain release artifacts.
(all commands are fish commands, adapt as needed)
- For kdevelop, kdev-python, kdev-php: go to stable branch, don't forget to pull, edit CMakeLists.txt with the new version number. Don't create a tag. Commit and push.
- Create tarballs and tags with releaseme:
- set VERSION 5.2.4; for application in kdev-python kdev-php kdevelop; ruby tarme.rb --version $VERSION --origin stable $application; ruby tagme.rb --version $VERSION; end
- repos on invent.kde.org are not yet supported by tagme.rb it seems, set tag manually: git tag -s -m "Tagging $VERSION" v$VERSION <commit-id>, then git push to invent.kde.org
- Build AppImage locally, using appimage/README.md in the sources as guide, then sign:
- gpg2 --armor --detach-sign -o KDevelop-$VERSION-x86_64.AppImage.sig KDevelop-$VERSION-x86_64.AppImage
- Update version.ini to have the new tarball version and default target, commit and push:
- When built, get the new windows installers (needs someone to confirm they work):
- Upload all of them either using ftp + filing a sysadmin ticket, or directly: see "Self-Uploading to Download Server"
Self-Uploading to Download Server
set VERSION 5.2.4
# on milonia make the new release directory
ssh email@example.com "mkdir -p /home/ftpadmin/stable/kdevelop/$VERSION/src && mkdir -p /home/ftpadmin/stable/kdevelop/$VERSION/bin/linux && mkdir -p /home/ftpadmin/stable/kdevelop/$VERSION/bin/windows"
scp *.tar.xz* firstname.lastname@example.org:/home/ftpadmin/stable/kdevelop/$VERSION/src/
scp *AppImage* email@example.com:/home/ftpadmin/stable/kdevelop/$VERSION/bin/linux/
scp *.exe* firstname.lastname@example.org:/home/ftpadmin/stable/kdevelop/$VERSION/bin/windows/
This list explains how to perform the release from the management point of view.
This checklist should be processed in the respective order.
- When release date is clear, email release-team@
- Prepare release announcement for kdevelop.org (don't publish yet)
- Repositories (needs to be done for each repository we release)
- Verify unit tests are working
- Using the ReleaseMe script (see next paragraph)
- Generate tarballs
- Tag the version
- Adjust codebase for next dev cycle
- Add new versions in bugzilla
- Add new milestones in bugzilla
- Alert KDE Promo team to forthcoming release announce #kde-promo or Telegram group
- Upload tarball to KDE FTP (see ftp://upload.kde.org/README)
- File sysadmin ticket to publish files, specify directory should be kept hidden
- Wait for it to be uploaded
- e-mail release-team@ to tell distros to start packaging
- File sysadmin ticket to publish files publically, chmod 755 the download directory on milonia
- When files are uploaded
- Update download page on the website (https://www.kdevelop.org/download)
- Publish release announcement on the website
- Coordinate with KDE Promo team putting on social media and Dot as appropriate
- Share blog post on Reddit/Hackernews/Twitter/whatever
- Mail release announcement to kde-announce-apps@ & kdevelop@ & kdevelop-devel@
- Update IRC channel topic
- Optional stuff
- Update Wikipedia (release date, feature comparison)
- Update screenshots (website, kde.org, kde-apps, freshmeat, facebook)
- Update OpenHub (app icon/logo)
More information can be found here: https://community.kde.org/ReleasingSoftware
git clone kde:releaseme
Step 1: tarballing
./tarme.rb --version 5.3 --origin 5.3 kdevelop
Step 2: tagging
Rinse & repeat for kdev-php, kdev-python
Upload the tarballs to the KDE FTP and notify the sysadmins:
Also add the sha256sum of the tarballs to the sysadmin ticket; also tell where sysadmins should upload the tarballs.
This page was last modified on 18 July 2019, at 20:08. Content is available under Creative Commons License SA 4.0
unless otherwise noted.