Closed
Description
This is the server app release template, please copy the part below in a new ticket.
For instructions around app releases, see https://confluence.owncloud.com/display/OG/Releasing+Apps
Reason
- Release needed for
Product approval
- Verify transifex commits (enterprise should update weekly, others daily): If folder
l10n
exists, thengit log
should show '[tx] updated from transifex` ... - Ping ProductManagement to check
info.xml
description and screenshot
QA
- Create QA Milestone and set the description to $version
- Create release branch with the format "release-$version"
- Create "0.12.4 Testplan" --> [QA] 0.12.4 Testplan #614 (QA templates or Enterprise)
- copy new/reopened issues from the previous release ticket as 'Issues to review' below.
- check if Non-normal Release Process applies, and adapt this checklist.
Documentation
- Changes in the docs needed? If so create issue in https://github.com/owncloud/docs-server/issues/new .
Marketing
- Update https://confluence.owncloud.com/display/PROD/Upcoming+Releases
- Request a screenshot if the app is new or changed fundamentally
Build
All actions to be done on the release branch (git pull; git checkout -b release-x.x.x
) from here:
- Bump version in
appinfo/info.xml
(no version suffix) - Check php version dependency and minimum ownCloud version dependency in
appinfo/info.xml
- Bump "sonar.projectVersion=" in
sonar-project.properties
(no version suffix) - Change CHANGELOG.md 'Unreleased' to '$version' (today's date)
Beta/RC
-
git tag -s v${version}-rc.1
on release branch (see https://confluence.owncloud.com/display/EN/Product+Owners+List) - Build and sign RC tarball from github tag
v${version}-rc.1
(see handbook for how to build) - Check buildlog for security reports
- Check github security tab dependabot reports
- -> if critical or high entries are reported: open a release blocker issue.
- Upload as Github release using changelog entries
- Test and document in testplan + manual explorative testing:
- If this is an enterprise app: Enabling the app must start the grace period
- Add section "Changlog Testing" using github releases text or CHANGELOG.md from release branch
- Do changelog tests
- Do regression tests
- Watch out for untranslated strings when locale is de oder de_DE.
- PHP 7.3 compatibility (
HCLOUD_SERVER_IMAGE=debian-10 OC10_VERSION=10.11 oc10.sh ...
) - => Final "Go" from QA (set 'QA-ready' label) => else do another RC after fixing issues in the "release-$version" branch
Final
- Check that no documentation issues are pending
- Rename last RC tarball to final
- Create github tag for final
v${version}
on release branch - Upload as Github release using changelog entries
Publishing
- Upload tarball to marketplace (see handbook in confluence for details)
- Publish tarball for customers
github/owncloud/QA/tools/portal_upload_app.sh
- old 10, old 10.0 and new portal (see handbook for details) - Send mail to release-coordination with link to this ticket and to the changelog
github/owncloud/QA/tools/release/oc_release.sh app:status
- Copy email to rocket chat
#updates
channel (remove all
https://` to avoid auto-expansions.)
Post-release
- Add a new 'Unreleased' section in CHANGELOG.md (and also update links at the bottom!)
- Create PR to merge changes back to the
master
branch with description "Closes #XYZ" with the release ticket number - Rename QA milestone to
$version
and close the milestone - Update https://confluence.owncloud.com/display/PROD/Upcoming+Releases
- Ensure release template is up to date
- Ensure the testplan template (community or enterprise) is up to date
- Close the testplan issue