KDevelop/Release Process: Difference between revisions

From KDE Community Wiki
(→‎Checklist: Add instructiosn for releaseme)
Line 1: Line 1:
=Release process for publishing a new KDevelop version=
=Release process for publishing a new KDevelop version=
==HowTo==
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 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
* Sign: for file in *.tar.xz; gpg --detach-sign --armor $file; end
* When built, get the AppImage: http://home.kfunk.org:8080/job/kdevelop-appimage-centos/
* Update kde:craft-blueprints-kde/extragear/kdevelop/version.ini to have the new tarball version and default target, commit and push
* When build, get the new windows installers: https://binary-factory.kde.org/job/KDevelop_Release_win32/ and https://binary-factory.kde.org/job/KDevelop_Release_win64/
* Upload all of them either using ftp + filing a sysadmin ticket, or directly: make directory structure, sign files, then
** scp *AppImage* [email protected]:/home/ftpadmin/stable/kdevelop/$VERSION/bin/linux/
** scp *.tar.xz* [email protected]:/home/ftpadmin/stable/kdevelop/$VERSION/src/
** scp *.exe* [email protected]:/home/ftpadmin/stable/kdevelop/$VERSION/bin/windows/


==Checklist==
==Checklist==


This list explains how to perform the release from the management point of view.
This checklist should be processed in the respective order.
This checklist should be processed in the respective order.



Revision as of 09:28, 20 August 2018

Release process for publishing a new KDevelop version

HowTo

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 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
  • Sign: for file in *.tar.xz; gpg --detach-sign --armor $file; end
  • When built, get the AppImage: http://home.kfunk.org:8080/job/kdevelop-appimage-centos/
  • Update kde:craft-blueprints-kde/extragear/kdevelop/version.ini to have the new tarball version and default target, commit and push
  • When build, get the new windows installers: https://binary-factory.kde.org/job/KDevelop_Release_win32/ and https://binary-factory.kde.org/job/KDevelop_Release_win64/
  • Upload all of them either using ftp + filing a sysadmin ticket, or directly: make directory structure, sign files, then

Checklist

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
  • Publishing
  • When files are uploaded
    • Update download page on the website (https://www.kdevelop.org/download)
    • Publish release announcement on the website
    • 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://techbase.kde.org/ReleasingExtragearSoftware

Using ReleaseMe

Setup:

git clone kde:releaseme
cd releaseme
cat README.md

Step 1: tarballing

./tarme.rb --version 5.0 --origin 5.0 kdevplatform

Step 2: tagging

./tagme.rb 5.0.0

Rinse & repeat for kdevelop, 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.