KDevelop/Release Process: Difference between revisions
< KDevelop
m (→HowTo) |
m (Create .sha256 files ourselve) |
||
(12 intermediate revisions by 4 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: | * 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 | ** 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: | * Sign: | ||
** 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 | * Update version.ini to have the new tarball version and default target, commit and push: | ||
* When | ** 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 | ||
* | |||
# 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" | |||
for i in *.tar.xz; do sha256sum $i > $i.sha256; done | |||
scp *AppImage* ftpadmin@milonia.kde.org:/home/ftpadmin/stable/kdevelop/$VERSION/bin/linux/ | |||
scp *.tar.xz* ftpadmin@milonia.kde.org:/home/ftpadmin/stable/kdevelop/$VERSION/src/ | |||
scp *.exe* ftpadmin@milonia.kde.org:/home/ftpadmin/stable/kdevelop/$VERSION/bin/windows/ | |||
==Checklist== | ==Checklist== | ||
Line 23: | Line 30: | ||
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@ | |||
* Website | * Website | ||
Line 38: | Line 47: | ||
** 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 55: | Line 70: | ||
** Update OpenHub (app icon/logo) | ** Update OpenHub (app icon/logo) | ||
More information can be found here: https:// | More information can be found here: https://community.kde.org/ReleasingSoftware | ||
==Using ReleaseMe== | ==Using ReleaseMe== | ||
Line 65: | Line 80: | ||
Step 1: tarballing | Step 1: tarballing | ||
./tarme.rb --version 5. | ./tarme.rb --version 5.3 --origin 5.3 kdevelop | ||
Step 2: tagging | Step 2: tagging | ||
./tagme.rb 5. | ./tagme.rb 5.3.0 | ||
Rinse & repeat for | 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 77: | Line 92: | ||
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. | * Example destination: http://download.kde.org/stable/kdevelop/5.3.0/src/ |
Revision as of 09:24, 7 March 2019
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
# 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" for i in *.tar.xz; do sha256sum $i > $i.sha256; done 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
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@
- 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
- 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
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:
- Upload to ftp://upload.kde.org:21/incoming/
- Create one ticket at https://phabricator.kde.org/maniphest/task/edit/form/2/
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.3.0/src/