Jump to content

KDevelop/Release Process: Difference between revisions

From KDE Community Wiki
Scummos (talk | contribs)
Scummos (talk | contribs)
Line 12: Line 12:
** for file in *.tar.xz; gpg --detach-sign --armor $file; end
** 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/
* 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
* Update 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/
** kde:craft-blueprints-kde/extragear/kdevelop/version.ini
* When built, get the new windows installers:  
** https://binary-factory.kde.org/job/KDevelop_Release_win32/
** 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
* 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 *AppImage* [email protected]:/home/ftpadmin/stable/kdevelop/$VERSION/bin/linux/

Revision as of 09:30, 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 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
  • 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 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:
  • 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.