Client: Release 2.4.0

Created on 14 Nov 2017  路  21Comments  路  Source: owncloud/client

Since most of the milestone is ReadyToTest and the rest is packaging/requests for info; we can start thinking about the upcoming release. I'll also start working in with https://github.com/owncloud/client/wiki/Testing-Scenarios-2.4 asap

Some weeks before the release:

  • [x] Check if we should update the bundled sqlite3 (https://github.com/owncloud/client/tree/master/src/3rdparty/sqlite3)
  • [x] Check if we should update Sparkle on build machine (https://github.com/sparkle-project/Sparkle/releases)
  • [x] Ensure NSIS is up to date on the build machine
  • [x] Ensure up-to-date dependencies (e.g. latest Qt version is installed on the machine and picked up (cmake output)
  • [x] Ensure the crash reporter server is up
  • [x] Check crash reporter for bad crashes
  • [x] Ensure Windows Overlay DLLs are rebuilt
  • [x] Check nightly builds are up and running, that is Jenkins jobs ownCloud-client-linux, ownCloud-client-osx and ownCloud-client-win32 all green.
  • [x] Ensure Linux nightlies are built too for all distros https://build.opensuse.org/package/show/isv:ownCloud:community:nightly/owncloud-client
  • [ ] Build branded clients through the scripting machine and smoke test one or two branded clients (especially with predefined url and OAuth client ids/secrets)
  • [ ] Upload a nightly build of the windows version to virustotal.com

    • Contact AV vendors whom's engine reports a virus

  • [x] Documentation should be online before the release http://doc.owncloud.org/desktop/1.X/
  • [ ] QA goes over https://github.com/owncloud/mirall/wiki/Testing-Scenarios
  • [x] Make sure to have client/ChangeLog updated

    • use git log --format=oneline v<lastrelease>...master if your memory fails you

  • [ ] check if enterprise issues are fixed

One week before the release:

  • [ ] Communicate the release schedule on mailinglist [email protected]. Give a high level overview of the upcoming new features, changes etc.
  • [ ] Ensure marketing is aware ([email protected]) and prepared for the release (social, .com website, cust. communications)
  • [ ] Inform GCX knows the next version is about 1 week out ([email protected])

beta1:

  • [x] Branch off a release branch called VERSION-rcX or VERSION-betaX (without v, v is for tags)
  • [x] Edit VERSION.cmake to set the suffix to beta1, beta2 etc. Commit the result to the release branch only
  • [x] Create build for Windows using rotor job owncloud-client-win32 (uncheck the "nightly build" checkbox, check the "sign package" checkboxes) both themes 'ownCloud' and 'testpilotcould'
  • [x] Create build for Mac using rotor, job owncloud-client-osx (uncheck the "nightly build" checkbox, check the "sign package" checkboxes) both themes 'ownCloud' and 'testpilotcould'
  • [x] Create the beta tarball using Jenkins job ownCloud-client-source
  • [x] Create Linux builds using rotor job owncloud-client-linux building (this magically interacts with the ownCloud-client-source job)
  • [x] Copy builds from daily to testing on download.owncloud.com, double check the download links.
  • [x] Create a pull request to the owncloud.org repository to update the install page (strings.php, page-desktop.php) and the changelog on owncloud.org. From now on download packages from the staging webserver.
  • [x] Inform community mailinglists [email protected] and [email protected]
  • [x] Announce on https://central.owncloud.org
  • [x] Create a signed tag using git tag -u E94E7B37 tagname (https://github.com/owncloud/enterprise/wiki/Desktop-Signing-Knowledge)
  • [ ] Check crash reporter

rc1

  • [x] Branch off a release branch called VERSION-rcX or VERSION-betaX (without v, v is for tags)
  • [x] Edit VERSION.cmake to set the suffix to beta1, beta2 etc. Commit the result to the release branch only
  • [x] Create build for using owncloud-client-trigger (uncheck the "nightly build" checkbox, use the proper dropdown for version) for theme 'ownCloud'
  • [x] Create build for using owncloud-client-trigger (uncheck the "nightly build" checkbox, use the proper dropdown for version) for theme 'testpilotcloud'
  • [x] Only now download the last created source .tar.xz and sign it with gpg. Copy the signature into a new .asc file. (timing issue because currently 'testpilotcloud' re-creates the source .tar.xz)
  • [x] Copy builds from daily to testing on download.owncloud.com, double check the download links.
  • [x] Create a pull request to the owncloud.org repository to update the install page (strings.php, page-desktop.php) and the changelog on owncloud.org. From now on download packages from the staging webserver.
  • [X] Inform community mailinglists [email protected] and [email protected]
  • [X] Announce on https://central.owncloud.org
  • [X] Create a signed tag using git tag -u E94E7B37 tagname (https://github.com/owncloud/enterprise/wiki/Desktop-Signing-Knowledge)
  • [X] Check crash reporter

rc2

  • [x] Branch off a release branch called VERSION-rcX or VERSION-betaX (without v, v is for tags)
  • [x] Edit VERSION.cmake to set the suffix to beta1, beta2 etc. Commit the result to the release branch only
  • [x] Create build for using owncloud-client-trigger (uncheck the "nightly build" checkbox, use the proper dropdown for version) for theme 'ownCloud'
  • [x] Create build for using owncloud-client-trigger (uncheck the "nightly build" checkbox, use the proper dropdown for version) for theme 'testpilotcloud'
  • [x] Only now download the last created source .tar.xz and sign it with gpg. Copy the signature into a new .asc file. (timing issue because currently 'testpilotcloud' re-creates the source .tar.xz)
  • [x] Copy builds from daily to testing on download.owncloud.com, double check the download links.
  • [x] Create a pull request to the owncloud.org repository to update the install page (strings.php, page-desktop.php) and the changelog on owncloud.org. From now on download packages from the staging webserver.
  • [x] Inform community mailinglists [email protected] and [email protected]
  • [x] Announce on https://central.owncloud.org
  • [x] Create a signed tag using git tag -u E94E7B37 tagname (https://github.com/owncloud/enterprise/wiki/Desktop-Signing-Knowledge)
  • [ ] Check crash reporter

For first Beta of a Major or Minor release:

  • [x] branch off master to new version branch (e.g. master -> 2.1, when releasing 2.1)
  • [x] Adjust VERSION.cmake in master and count up (e.g. 2.2)
  • [x] Adjust translation jobs for client and NSIS to point to the release branch (e.g. 2.1).
  • [x] Make sure there is a job for the docs of the new master branch and the current release branch on rotor.

Day before Release:

  • [x] Check the translations coming from transifex: All synchronized?
  • [ ] Run the tx.pl scripts on the final code tag
  • [x] Run make test
  • [ ] Run smashbox on the final code tag
  • [ ] Inform product management and marketing that we are 1 day out

On Release Day (for final release):

  • [x] Branch off a release branch called like the version (without v, v is for tags)
  • [x] Double check VERSION.cmake: Check the version number settings and suffix (beta etc.) to be removed. Commit change to release branch only!
  • [x] Make sure to increase the version number of the branched of release, e.g. if you release 2.3.2 then you should change VERSION.cmake in 2.3 to 2.3.3 since that branch now will be 2.3.3
  • [x] Add last updates to Changelog in the client source repository.
  • [x] Create tar ball (automated by ownCloud-client-source jenkins job) and immediately sign it (asc file). (https://github.com/owncloud/enterprise/wiki/Desktop-Signing-Knowledge)
  • [x] Create build for Windows using rotor job owncloud-client-win32 (uncheck the "nightly build" checkbox, check the "sign package" checkboxes) both themes 'ownCloud' and 'testpilotcould'
  • [x] Create build for Mac using rotor, job owncloud-client-osx (uncheck the "nightly build" checkbox, check the "sign package" checkboxes) both themes 'ownCloud' and 'testpilotcould'
  • [ ] Stop publishing on OBS
  • [ ] Branch isv:ownCloud:desktop to isv:ownCloud:desktop:client-X.Y.Z before overwriting https://github.com/owncloud/administration/blob/master/jenkins/obs_integration/obs-backup-prj.sh
  • [x] Create Linux builds using rotor job owncloud-client-linux (this magically interacts with the ownCloud-client-source job)

    • Check if patches still apply in the linux packages

    • Update OBS repository isv:ownCloud:desktop

    • [x] theme 'ownCloud' -> isv:ownCloud:desktop

    • [x] theme 'testpilotcloud' -> isv:ownCloud:testpilot

  • [ ] Linux: Update the testing repository to the latest stable version.
  • [ ] Inform GCX that a new tarball is available.
  • [ ] Copy builds and source tar ball from daily to stable on download.owncloud.com, double check the download links.
  • [ ] Check if the following packages are on download.owncloud.com/desktop/stable:

    • Windows binary package

    • Mac binary package

    • source tarballs

  • [x] Create a pull request to the owncloud.org repository to update the install page (strings.php, page-desktop.php) and the changelog on owncloud.org. From now on download packages from the staging webserver.
  • [ ] Re-download Mac builds and check signature. Interactive in installer window
  • [ ] Re-download Win build check signature. From Mac or Linux: osslsigncode verify ownCloud-version-setup.exe
  • [x] Mac: Perform smoke test (Install, make sure it does not explode, and check if all version indicators are correct)
  • [ ] Win: Perform smoke test (Install, make sure it does not explode, and check if all version indicators are correct)
  • [ ] Linux: Smoke test
  • [ ] Linux: Re-enable OBS publishing

    • Let obs build and publish exactly once. then

    • [ ] disable publishing and rebuild for the owncloud-client package and all its dependencies.

    • [ ] double-check that there are no _aggregatepac from other projects, if so disable rebuilding there too.

  • [ ] Update ASCII Changelog on http://download.owncloud.com/download/changelog-client
  • [x] Announce on https://central.owncloud.org
  • [x] Announce on [email protected]
  • [ ] Create git signed tag in client repository using git tag -u E94E7B37 tagname
  • [x] Send out Social (tweet, blog, other)
  • [ ] Send out customer communication (if any)
  • [ ] Inform GCX that the new version is released ([email protected])
  • [x] Inform [email protected]
  • [x] Ensure marketing is aware ([email protected])
  • [ ] Take pride and celebrate!
  • [ ] Also update the testpilotcloud builds for that release version and make sure they show up on the download page
  • [ ] Tell GCX to increment the minimum supported version for enterprise customers
  • [ ] Check if minimum.supported.desktop.version (https://github.com/owncloud/core/blob/master/config/config.sample.php#L1152) needs to be updated in server

A few days after the release (for final release)

  • [ ] Review changes in the release branch, merge back into master.
  • [ ] Update the updater script clientupdater.php (check the crash reporter if auto update is a good idea or we need a new release)
  • [ ] Execute announced deprecations. Disable builds for deprecated platforms. Update accordingly: https://doc.owncloud.org/server/latest/admin_manual/installation/system_requirements.html#desktop
  • [ ] Increment version number in nightly builds. Special case: after the last release in a branch, jump forward to the 'next release branch'... That may mean, this is nightly is the same as edge then.
p2-high

All 21 comments

Website updated!

heads-up to @hefee @dragotin for packaging.

It looks like the packaging mailing list got deleted?

This is an informative message sent by mx.owncloud.com.

The server was not able to deliver your email message 

  Subject: heads-up: desktop 2.4.0 beta1 was released last week
  Date: Mon, 20 Nov 2017 10:37:36 +0100



to the following addresses:

  <[email protected]> (mx.owncloud.org: 550 5.1.1 <[email protected]
rg>: Recipient address rejected: User unknown in local recipient table)

FYI 2.4.0 beta1 updater was deployed 5 days ago so latest friday everyone from alpha1 should be on beta1. https://github.com/owncloud/enterprise/pull/2332#issuecomment-346577375

We also got some important crashes we should fix for the rc1.

rc1 is out
https://owncloud.org/changelog/desktop/

Thanks @jnweiger ..

I'll create the auto updater PR tomorrow too

@ckamm made another fix so we need a rc2.

@SamuAlfageme
Only https://github.com/owncloud/client/commit/e86416fff7c74174e699802cec46da8ca3c3aad5 seems to be genuinely missing from master/2.4! @guruz

  • e9bc49b was cherry-picked to 2.3 from 5a1bf7d
  • 69b2e34 was applied to master as d339b68715f71c13860f6b1135a7d0a6bf3ac647
  • c190646 was applied to master as af24b4132d131886e65ebb12a480f73b87902f42
    (would have been neat if the latter two had cherry-pick markers as well)

(would have been neat if the latter two had cherry-pick markers as well)

Sorry for that :-/

@ckamm can you cherry pick e86416f ?

@ckamm you're absolutely right. My bad on lazily checking on GitHub the merge status of both branches 馃槄

@SamuAlfageme well thanks for checking, would be bad to miss e86416fff7c74174e699802cec46da8ca3c3aad5

where do i find the rc2?

[WIP]

馃挜 Regression Test Results

  • [x] Installer/Uninstaller
  • [x] Setup
  • [ ] Syncing

    • [x] User stop syncing

    • [ ] Test resuming of uploads

    • [ ] Test resuming download

    • [ ] Modifying files when the sync is running

    • [x] Test shared folder

  • [x] Network-related
  • [x] Crash Recovery
  • [x] Server interaction checks
  • [x] Upgrade (where applicable)

    • [x] Upgrade from Previous Client Version

    • [x] Upgrade from previous server version (w/ and wo/ OAuth2 as well)

  • [x] Credential Management

    • [x] First startup

    • [x] Update

    • [x] Password change, without URL change.

    • [x] Password change, with URL change

    • [x] Wrong password

    • [x] Shibboleth

  • [x] Multiple folders
  • [x] Activity log
  • [x] Quota
  • [x] Windows Office Files
  • [x] Big File modified during Upsync
  • [x] Command Line Client

馃搩 Notes:

Central post by @Kawohl on https://central.owncloud.org/t/owncoud-desktop-client-2-4-0-released/10973
News post by @Kawohl on https://owncloud.org/news/owncloud-desktop-client-2-4-0/
I'll do the announcements@ post as soon as @jnweiger enabled the Linux OBS.

Updated auto-updater with new macOS build: https://github.com/owncloud/enterprise/pull/2378

We want a 2.4.1 soonish because we have a bunch of bugfixes already.

Was this page helpful?
0 / 5 - 0 ratings