Difference between revisions of "KDevelop/Release Process"

(add email to translators to checklist)
Line 32: Line 32:
This checklist should be processed in the respective order.
This checklist should be processed in the respective order.
* When release date is clear, email [email protected]
* When release date is clear, email [email protected] and translators [email protected]
* Website
* Website

Revision as of 04:30, 22 November 2019

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:
    • kde:craft-blueprints-kde/extragear/kdevelop/version.ini
  • 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 protected] "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* [email protected]:/home/ftpadmin/stable/kdevelop/$VERSION/src/
scp *AppImage* [email protected]:/home/ftpadmin/stable/kdevelop/$VERSION/bin/linux/
scp *.exe* [email protected]:/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.

  • Website
    • 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
  • Bugzilla
    • Add new versions in bugzilla
    • Add new milestones in bugzilla
  • Pre-Publishing
    • 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 [email protected] to tell distros to start packaging
  • Publishing
    • File sysadmin ticket to publish files publically, chmod 755 the download directory on milonia

More information can be found here: https://community.kde.org/ReleasingSoftware

Using ReleaseMe


git clone kde:releaseme
cd releaseme
cat README.md

Step 1: tarballing

./tarme.rb --version 5.3 --origin 5.3 kdevelop

Step 2: tagging

./tagme.rb 5.3.0

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.

Content is available under Creative Commons License SA 4.0 unless otherwise noted.