KDevelop/Release Process: Difference between revisions

From KDE Community Wiki
(mention update needed for binary-factory-tooling Stable builds)
(18 intermediate revisions by 5 users not shown)
Line 7: Line 7:
(all commands are fish commands, adapt as needed)
(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.
* 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
* Create tarballs and tags with releaseme:  
* Sign: for file in *.tar.xz; gpg --detach-sign --armor $file; end
** 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
* When built, get the AppImage: http://home.kfunk.org:8080/job/kdevelop-appimage-centos/
** 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
* Update kde:craft-blueprints-kde/extragear/kdevelop/version.ini to have the new tarball version and default target, commit and push
* Build AppImage locally, using appimage/README.md in the sources as guide, then sign:
* 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/
** gpg2 --armor --detach-sign -o KDevelop-$VERSION-x86_64.AppImage.sig KDevelop-$VERSION-x86_64.AppImage
* Upload all of them either using ftp + filing a sysadmin ticket, or directly: make directory structure, sign files, then
* Update version.ini to have the new tarball version and default target, commit and push:
** scp *AppImage* ftpadmin@racnoss.kde.org:/home/ftpadmin/stable/kdevelop/$VERSION/bin/linux/
** kde:craft-blueprints-kde/extragear/kdevelop/version.ini
** scp *.tar.xz* ftpadmin@racnoss.kde.org:/home/ftpadmin/stable/kdevelop/$VERSION/src/
* When built, get the new windows installers (needs someone to confirm they work):  
** scp *.exe* ftpadmin@racnoss.kde.org:/home/ftpadmin/stable/kdevelop/$VERSION/bin/windows/
** https://binary-factory.kde.org/job/KDevelop_Release_win64/
* Upload all of them either using ftp + filing a sysadmin ticket, or directly: see "Self-Uploading to Download Server"
* check Stable builds on binary-factory.kde.org to cover the current stable branch
** adapt sysadmin/binary-factory-tooling/craft/enabled-projects.yaml
 
===Self-Uploading to Download Server===
 
set VERSION 5.2.4
# on milonia make the new release directory
ssh ftpadmin@milonia.kde.org "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* ftpadmin@milonia.kde.org:/home/ftpadmin/stable/kdevelop/$VERSION/src/
scp *AppImage* [email protected]:/home/ftpadmin/stable/kdevelop/$VERSION/bin/linux/
scp *.exe* ftpadmin@milonia.kde.org:/home/ftpadmin/stable/kdevelop/$VERSION/bin/windows/


==Checklist==
==Checklist==
Line 21: Line 33:
This list explains how to perform the release from the management point of view.
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.
* When release date is clear, email release-team@ and translators [email protected]


* Website
* Website
Line 36: Line 50:
** Add new milestones in bugzilla
** Add new milestones in bugzilla


* Publishing  
* 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)
** Upload tarball to KDE FTP (see ftp://upload.kde.org/README)
** File sysadmin ticket to publish files
** File sysadmin ticket to publish files, specify directory should be kept hidden
** Wait for it to be uploaded
** Wait for it to be uploaded
** e-mail release-team@ to tell distros to start packaging
* Publishing
** File sysadmin ticket to publish files publically, chmod 755 the download directory on milonia


* When files are uploaded
* When files are uploaded
** Update download page on the website (https://www.kdevelop.org/download)
** Update download page on the website (https://www.kdevelop.org/download)
** Publish release announcement on the website
** 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
** Share blog post on Reddit/Hackernews/Twitter/whatever
** Mail release announcement to kde-announce-apps@ & kdevelop@ & kdevelop-devel@
** Mail release announcement to kde-announce-apps@ & kdevelop@ & kdevelop-devel@
Line 49: Line 69:


* Optional stuff
* Optional stuff
** Update Wikipedia (release date, feature comparison)
** Update Wikipedia (release date, feature comparison): https://www.wikidata.org/wiki/Q468841, https://en.wikipedia.org/wiki/KDevelop
** Update screenshots (website, kde.org, kde-apps, freshmeat, facebook)
** Update screenshots (website, kde.org, kde-apps, freshmeat, facebook)
** Update OpenHub (app icon/logo)
** Update OpenHub (app icon/logo)


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


==Using ReleaseMe==
==Using ReleaseMe==
Line 63: Line 83:


Step 1: tarballing
Step 1: tarballing
  ./tarme.rb --version 5.0 --origin 5.0 kdevplatform
  ./tarme.rb --version 5.3 --origin 5.3 kdevelop


Step 2: tagging
Step 2: tagging
  ./tagme.rb 5.0.0
  ./tagme.rb 5.3.0


Rinse & repeat for kdevelop, kdev-php, kdev-python
Rinse & repeat for kdev-php, kdev-python


Upload the tarballs to the KDE FTP and notify the sysadmins:
Upload the tarballs to the KDE FTP and notify the sysadmins:
Line 75: Line 95:


Also add the sha256sum of the tarballs to the sysadmin ticket; also tell where sysadmins should upload the tarballs.  
Also add the sha256sum of the tarballs to the sysadmin ticket; also tell where sysadmins should upload the tarballs.  
* Example destination: http://download.kde.org/stable/kdevelop/5.0.0/src/
* Example destination: http://download.kde.org/stable/kdevelop/5.3.0/src/

Revision as of 18:49, 20 February 2020

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
    • 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"
  • check Stable builds on binary-factory.kde.org to cover the current stable branch
    • adapt sysadmin/binary-factory-tooling/craft/enabled-projects.yaml

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/

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
  • 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 release-team@ to tell distros to start packaging
  • Publishing
    • 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

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

Using ReleaseMe

Setup:

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.