From 5d2ea88845d5590501696804e1fd66d37da1d23a Mon Sep 17 00:00:00 2001 From: skjnldsv Date: Tue, 25 Aug 2026 19:33:57 +0200 Subject: [PATCH 1/2] fix(ci): skip prerelease upgrade job when nothing to upgrade from The beta channel base "35" upgrade job resolved its "install from" version through a fallback cascade. During the first prerelease streak of a new major there is no stable 35 and no earlier prerelease, so the cascade fetched the target release itself (e.g. nextcloud-35.0.0rc1.zip) as the base. That is a no-op self-upgrade the updater rightfully refuses, turning the job red even though the outcome is expected. Record which candidate URL actually satisfied the base fetch and skip the job when nothing could be fetched or the only fetchable base equals the target download URL. The skip is surfaced via a log annotation and the run summary so it reads as an intentional skip rather than a silent pass. The existing post-unzip no-op check is kept: it still catches the latest-major == target stable case that a URL comparison cannot. Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: skjnldsv --- .github/workflows/upgrade.yml | 45 +++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/.github/workflows/upgrade.yml b/.github/workflows/upgrade.yml index d3c65bc8..0f58ad0b 100644 --- a/.github/workflows/upgrade.yml +++ b/.github/workflows/upgrade.yml @@ -78,6 +78,7 @@ jobs: - name: Fetch release run: | BASE="${{ matrix.config.base }}" + TARGET_URL="${{ matrix.config.downloadUrl }}" # Normalize BASE to full MAJOR.MINOR.PATCH format if [[ "$BASE" =~ ^[0-9]+$ ]]; then @@ -88,16 +89,39 @@ jobs: echo "Normalized base version: $BASE" - # Try fetching official releases first, then prereleases (rc1–rc5), then fallback to latest-major - wget --quiet "https://download.nextcloud.com/server/releases/nextcloud-${BASE}.zip" -O nextcloud-base.zip \ - || wget --quiet "https://download.nextcloud.com/server/prereleases/nextcloud-${BASE}.zip" -O nextcloud-base.zip \ - || for rc in {1..5}; do - wget --quiet "https://download.nextcloud.com/server/prereleases/nextcloud-${BASE}rc${rc}.zip" -O nextcloud-base.zip && break - done \ - || wget --quiet "https://download.nextcloud.com/server/releases/latest-${BASE%%.*}.zip" -O nextcloud-base.zip \ - || for beta in {1..6}; do - wget --quiet "https://download.nextcloud.com/server/prereleases/nextcloud-${BASE}beta${beta}.zip" -O nextcloud-base.zip && break - done + # Candidate "install from" URLs in priority order: official release, + # matching prerelease, rc1–rc5, latest-major, beta1–beta6. + CANDIDATES=( + "https://download.nextcloud.com/server/releases/nextcloud-${BASE}.zip" + "https://download.nextcloud.com/server/prereleases/nextcloud-${BASE}.zip" + ) + for rc in {1..5}; do + CANDIDATES+=("https://download.nextcloud.com/server/prereleases/nextcloud-${BASE}rc${rc}.zip") + done + CANDIDATES+=("https://download.nextcloud.com/server/releases/latest-${BASE%%.*}.zip") + for beta in {1..6}; do + CANDIDATES+=("https://download.nextcloud.com/server/prereleases/nextcloud-${BASE}beta${beta}.zip") + done + + FETCHED_URL="" + for url in "${CANDIDATES[@]}"; do + if wget --quiet "$url" -O nextcloud-base.zip; then + FETCHED_URL="$url" + break + fi + done + + # For the first prerelease of a new major (e.g. base "35" while 35 has + # no stable release yet), the only fetchable "base" is the target + # itself — or nothing at all. There is nothing to upgrade *from*, so + # skip instead of failing on a no-op self-upgrade. + if [ -z "$FETCHED_URL" ] || [ "$FETCHED_URL" = "$TARGET_URL" ]; then + REASON="No earlier release to upgrade from for base ${{ matrix.config.base }} (first ${{ matrix.config.channel }} streak — no stable${{ matrix.config.base }} yet)" + echo "::notice::${REASON}; skipping" + echo "⏭️ Skipped: ${REASON}." >> "$GITHUB_STEP_SUMMARY" + echo "SKIP_UPGRADE=true" >> $GITHUB_ENV + exit 0 + fi unzip -q nextcloud-base.zip VERSION=$(php nextcloud/occ --output=json status | jq -r .version) @@ -117,6 +141,7 @@ jobs: fi - name: Setup nextcloud ${{ env.BASE_VERSION_STRING }} (${{ env.BASE_VERSION }}) + if: env.SKIP_UPGRADE != 'true' run: | cd nextcloud mkdir data From 9fbe4b23d32affeac37d6446b95645ce7b6e7619 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Thu, 27 Aug 2026 18:42:44 +0200 Subject: [PATCH 2/2] 35.0.0 RC2 Signed-off-by: Arthur Schiwon --- config/config.php | 100 +++++++++++----------- config/releases.json | 8 +- tests/integration/features/beta.feature | 48 +++++------ tests/integration/features/latest.feature | 4 +- 4 files changed, 80 insertions(+), 80 deletions(-) diff --git a/config/config.php b/config/config.php index 6c15f987..573f5eda 100644 --- a/config/config.php +++ b/config/config.php @@ -1687,81 +1687,81 @@ 'beta' => [ '35' => [ '100' => [ - 'latest' => '35.0.0 RC1', - 'internalVersion' => '35.0.0.6', - 'downloadUrl' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.zip', + 'latest' => '35.0.0 RC2', + 'internalVersion' => '35.0.0.7', + 'downloadUrl' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.zip', 'downloads' => [ 'bz2' => [ - '0' => 'https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc1/nextcloud-35.0.0rc1.tar.bz2', - '1' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.tar.bz2', + '0' => 'https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc2/nextcloud-35.0.0rc2.tar.bz2', + '1' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.tar.bz2', ], 'zip' => [ - '0' => 'https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc1/nextcloud-35.0.0rc1.zip', - '1' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.zip', + '0' => 'https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc2/nextcloud-35.0.0rc2.zip', + '1' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.zip', ], ], 'web' => 'https://docs.nextcloud.com/server/35/admin_manual/maintenance/upgrade.html', 'eol' => '', 'minPHPVersion' => '8.3', - 'signature' => 'C5LDdXe9PPI8rRWrtGMGUsUixB49K5IsfhuJUcPwG4cUPhDC12pue7+iaIEpYh3C -knTZVAUQWgtAbxCbxpZSa6/RcCRhNHKGo372EpEtjI+akk3rPg9HK6WcI0TBs+ll -dDtk08lE6CWygHANAh3r3Cdp+HKfq4bnM/LDnKLcNIiENCyEskK6F0+ycU6liuSc -u65iHRLqM9n240fwlgTUto4AqvRUPXaUrPTbwR6gxiMeRDVDmHu0Xmsjux+YhHAe -Kqikl6TE8XCMHBSVvvvn0SwXzsqlYe4z8nSgndlwOnozSxBOzoKWowuhewCZO4ag -I6FQ2B4QIcq9uqcqO9PVDg==', + 'signature' => 'I0GNgwfC/dUU5sd62nYo4c3o4+WRf6FW6xyWj2IHH/q0Wx0efv0SQg+kfthLBep/ +8wBuUvzD2jzJaVPy9tIXn55OeNYYnmEhYh+Sx06zj7pIbCheLD8UM+tGOuPlcIn2 +3BV4tTlUf/tl2eN57gjVOnO7eteOQDueOiCf7Nu1ydkncInLR11h9W0uuV22Na1M +beuEjbjzPcNgoXclOSTDINTxgURep5xe1BUj3qV4IIBC0TkU/1a+s5r0bDmnlh9R +03zP0Vc48ljIkaGJIc4KlFPrhoU4Tt8c6Xi5aPmTNQ+uxaxN+F4BdkTJ6dlYyIyi +6OTMUCLK2/KSzCn5J1myeA==', 'signatures' => [ - 'bz2' => 'k+t393yVdvHj1yfwY350QfvRiEHTSbge4NX601GiflruwHru+bNBT6Y91Ezmgpnx -D7qcLpm639vjQijVBFL4vEkTkD3Eh17k52JHTZYp5rO7669WXi2q1MLvJtfLPXTH -vut/FHgE1X+c/ZKhHKohzfOPO96YzzS6XIddYTmge3tqKxptOtmzTi+zNDTgI6wf -QOhc1kz7NcJUzn6W5dkXZdACzje5lZ5Hhg5T1PeeNULgyY39s0J7H5g4IUcS3O6D -RbPRWqR5slSodR9HcquO88ikCXuTAP4SDn83lIG/cUAPFQh5/nR4Zr25E8xL/2Mj -vBEpgIt/ZuhsH99H49bd1A==', - 'zip' => 'C5LDdXe9PPI8rRWrtGMGUsUixB49K5IsfhuJUcPwG4cUPhDC12pue7+iaIEpYh3C -knTZVAUQWgtAbxCbxpZSa6/RcCRhNHKGo372EpEtjI+akk3rPg9HK6WcI0TBs+ll -dDtk08lE6CWygHANAh3r3Cdp+HKfq4bnM/LDnKLcNIiENCyEskK6F0+ycU6liuSc -u65iHRLqM9n240fwlgTUto4AqvRUPXaUrPTbwR6gxiMeRDVDmHu0Xmsjux+YhHAe -Kqikl6TE8XCMHBSVvvvn0SwXzsqlYe4z8nSgndlwOnozSxBOzoKWowuhewCZO4ag -I6FQ2B4QIcq9uqcqO9PVDg==', + 'bz2' => 'S/ObRhFbS2PwmhujlKI70xwhWIvhq4RZMYpaNAItb32c2Oyzg4kt93dwsljMSTVs +mgpKFVFt6NNYK33IGQpcBRJJnR2gwW5LXdfT7lF+ej1gGSxuzUiUtBoO23X7Nzob +GLnowxSmTnBzjmeqVicf6UYxifjYcMrbpoe+/qeiRjeUpMq4R14473pIgZVZqFmP +MwwFWiRqHe1mlcVi0ki5TkgISh9zLAOGFdhN5ZaNCt+9olfaOiyvYiFnbqx4TBPU +Xb8mMutDeNTT75zxH3MnWh6TRC47IGLRxU87O32EbaSJIL7h7QoYRKypmXVf46v5 +GvyPzz+8ojPfLTYTA4fXXg==', + 'zip' => 'I0GNgwfC/dUU5sd62nYo4c3o4+WRf6FW6xyWj2IHH/q0Wx0efv0SQg+kfthLBep/ +8wBuUvzD2jzJaVPy9tIXn55OeNYYnmEhYh+Sx06zj7pIbCheLD8UM+tGOuPlcIn2 +3BV4tTlUf/tl2eN57gjVOnO7eteOQDueOiCf7Nu1ydkncInLR11h9W0uuV22Na1M +beuEjbjzPcNgoXclOSTDINTxgURep5xe1BUj3qV4IIBC0TkU/1a+s5r0bDmnlh9R +03zP0Vc48ljIkaGJIc4KlFPrhoU4Tt8c6Xi5aPmTNQ+uxaxN+F4BdkTJ6dlYyIyi +6OTMUCLK2/KSzCn5J1myeA==', ], ], ], '34.0.3.2' => [ '100' => [ - 'latest' => '35.0.0 RC1', - 'internalVersion' => '35.0.0.6', - 'downloadUrl' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.zip', + 'latest' => '35.0.0 RC2', + 'internalVersion' => '35.0.0.7', + 'downloadUrl' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.zip', 'downloads' => [ 'bz2' => [ - '0' => 'https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc1/nextcloud-35.0.0rc1.tar.bz2', - '1' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.tar.bz2', + '0' => 'https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc2/nextcloud-35.0.0rc2.tar.bz2', + '1' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.tar.bz2', ], 'zip' => [ - '0' => 'https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc1/nextcloud-35.0.0rc1.zip', - '1' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.zip', + '0' => 'https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc2/nextcloud-35.0.0rc2.zip', + '1' => 'https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.zip', ], ], 'web' => 'https://docs.nextcloud.com/server/35/admin_manual/maintenance/upgrade.html', 'eol' => '', 'minPHPVersion' => '8.3', - 'signature' => 'C5LDdXe9PPI8rRWrtGMGUsUixB49K5IsfhuJUcPwG4cUPhDC12pue7+iaIEpYh3C -knTZVAUQWgtAbxCbxpZSa6/RcCRhNHKGo372EpEtjI+akk3rPg9HK6WcI0TBs+ll -dDtk08lE6CWygHANAh3r3Cdp+HKfq4bnM/LDnKLcNIiENCyEskK6F0+ycU6liuSc -u65iHRLqM9n240fwlgTUto4AqvRUPXaUrPTbwR6gxiMeRDVDmHu0Xmsjux+YhHAe -Kqikl6TE8XCMHBSVvvvn0SwXzsqlYe4z8nSgndlwOnozSxBOzoKWowuhewCZO4ag -I6FQ2B4QIcq9uqcqO9PVDg==', + 'signature' => 'I0GNgwfC/dUU5sd62nYo4c3o4+WRf6FW6xyWj2IHH/q0Wx0efv0SQg+kfthLBep/ +8wBuUvzD2jzJaVPy9tIXn55OeNYYnmEhYh+Sx06zj7pIbCheLD8UM+tGOuPlcIn2 +3BV4tTlUf/tl2eN57gjVOnO7eteOQDueOiCf7Nu1ydkncInLR11h9W0uuV22Na1M +beuEjbjzPcNgoXclOSTDINTxgURep5xe1BUj3qV4IIBC0TkU/1a+s5r0bDmnlh9R +03zP0Vc48ljIkaGJIc4KlFPrhoU4Tt8c6Xi5aPmTNQ+uxaxN+F4BdkTJ6dlYyIyi +6OTMUCLK2/KSzCn5J1myeA==', 'signatures' => [ - 'bz2' => 'k+t393yVdvHj1yfwY350QfvRiEHTSbge4NX601GiflruwHru+bNBT6Y91Ezmgpnx -D7qcLpm639vjQijVBFL4vEkTkD3Eh17k52JHTZYp5rO7669WXi2q1MLvJtfLPXTH -vut/FHgE1X+c/ZKhHKohzfOPO96YzzS6XIddYTmge3tqKxptOtmzTi+zNDTgI6wf -QOhc1kz7NcJUzn6W5dkXZdACzje5lZ5Hhg5T1PeeNULgyY39s0J7H5g4IUcS3O6D -RbPRWqR5slSodR9HcquO88ikCXuTAP4SDn83lIG/cUAPFQh5/nR4Zr25E8xL/2Mj -vBEpgIt/ZuhsH99H49bd1A==', - 'zip' => 'C5LDdXe9PPI8rRWrtGMGUsUixB49K5IsfhuJUcPwG4cUPhDC12pue7+iaIEpYh3C -knTZVAUQWgtAbxCbxpZSa6/RcCRhNHKGo372EpEtjI+akk3rPg9HK6WcI0TBs+ll -dDtk08lE6CWygHANAh3r3Cdp+HKfq4bnM/LDnKLcNIiENCyEskK6F0+ycU6liuSc -u65iHRLqM9n240fwlgTUto4AqvRUPXaUrPTbwR6gxiMeRDVDmHu0Xmsjux+YhHAe -Kqikl6TE8XCMHBSVvvvn0SwXzsqlYe4z8nSgndlwOnozSxBOzoKWowuhewCZO4ag -I6FQ2B4QIcq9uqcqO9PVDg==', + 'bz2' => 'S/ObRhFbS2PwmhujlKI70xwhWIvhq4RZMYpaNAItb32c2Oyzg4kt93dwsljMSTVs +mgpKFVFt6NNYK33IGQpcBRJJnR2gwW5LXdfT7lF+ej1gGSxuzUiUtBoO23X7Nzob +GLnowxSmTnBzjmeqVicf6UYxifjYcMrbpoe+/qeiRjeUpMq4R14473pIgZVZqFmP +MwwFWiRqHe1mlcVi0ki5TkgISh9zLAOGFdhN5ZaNCt+9olfaOiyvYiFnbqx4TBPU +Xb8mMutDeNTT75zxH3MnWh6TRC47IGLRxU87O32EbaSJIL7h7QoYRKypmXVf46v5 +GvyPzz+8ojPfLTYTA4fXXg==', + 'zip' => 'I0GNgwfC/dUU5sd62nYo4c3o4+WRf6FW6xyWj2IHH/q0Wx0efv0SQg+kfthLBep/ +8wBuUvzD2jzJaVPy9tIXn55OeNYYnmEhYh+Sx06zj7pIbCheLD8UM+tGOuPlcIn2 +3BV4tTlUf/tl2eN57gjVOnO7eteOQDueOiCf7Nu1ydkncInLR11h9W0uuV22Na1M +beuEjbjzPcNgoXclOSTDINTxgURep5xe1BUj3qV4IIBC0TkU/1a+s5r0bDmnlh9R +03zP0Vc48ljIkaGJIc4KlFPrhoU4Tt8c6Xi5aPmTNQ+uxaxN+F4BdkTJ6dlYyIyi +6OTMUCLK2/KSzCn5J1myeA==', ], ], ], diff --git a/config/releases.json b/config/releases.json index 32b1ffd7..4d5af014 100644 --- a/config/releases.json +++ b/config/releases.json @@ -120,11 +120,11 @@ "zip": "Ta4eb+iCuxmN25ah/59fAlh8ohy5tu3LPi0fiDS1HPZRnNJ1gwyjtyHUFvboP7NKPf2OH9DE7orfeUvxGkFShjWiGV+XTlj4lTfKh1SnHDvYt96gdjEjwExGj1s2ZfNABvxSTMWHWjCjYiWEmGWZHXBdZlR+UtpVfVfn/cuyuMNlPoaf2hMl56hGuIdxnS7jYMapfg0X9y8abZCTRRq9GOIzQj5sYESQ9PG8xGm6UU3431eKrTsPiBQenp/gkXS59CmXtBYeXNAU/bmpj+Mw9AGBWmXNKWfuQFP3+imRB0KALWfzDpLbp62GdblTI/X8nS7KTgaYyv70q7ana3YXUQ==" } }, - "35.0.0 RC1": { - "internalVersion": "35.0.0.6", + "35.0.0 RC2": { + "internalVersion": "35.0.0.7", "signatures": { - "bz2": "k+t393yVdvHj1yfwY350QfvRiEHTSbge4NX601GiflruwHru+bNBT6Y91EzmgpnxD7qcLpm639vjQijVBFL4vEkTkD3Eh17k52JHTZYp5rO7669WXi2q1MLvJtfLPXTHvut/FHgE1X+c/ZKhHKohzfOPO96YzzS6XIddYTmge3tqKxptOtmzTi+zNDTgI6wfQOhc1kz7NcJUzn6W5dkXZdACzje5lZ5Hhg5T1PeeNULgyY39s0J7H5g4IUcS3O6DRbPRWqR5slSodR9HcquO88ikCXuTAP4SDn83lIG/cUAPFQh5/nR4Zr25E8xL/2MjvBEpgIt/ZuhsH99H49bd1A==", - "zip": "C5LDdXe9PPI8rRWrtGMGUsUixB49K5IsfhuJUcPwG4cUPhDC12pue7+iaIEpYh3CknTZVAUQWgtAbxCbxpZSa6/RcCRhNHKGo372EpEtjI+akk3rPg9HK6WcI0TBs+lldDtk08lE6CWygHANAh3r3Cdp+HKfq4bnM/LDnKLcNIiENCyEskK6F0+ycU6liuScu65iHRLqM9n240fwlgTUto4AqvRUPXaUrPTbwR6gxiMeRDVDmHu0Xmsjux+YhHAeKqikl6TE8XCMHBSVvvvn0SwXzsqlYe4z8nSgndlwOnozSxBOzoKWowuhewCZO4agI6FQ2B4QIcq9uqcqO9PVDg==" + "bz2": "S/ObRhFbS2PwmhujlKI70xwhWIvhq4RZMYpaNAItb32c2Oyzg4kt93dwsljMSTVsmgpKFVFt6NNYK33IGQpcBRJJnR2gwW5LXdfT7lF+ej1gGSxuzUiUtBoO23X7NzobGLnowxSmTnBzjmeqVicf6UYxifjYcMrbpoe+/qeiRjeUpMq4R14473pIgZVZqFmPMwwFWiRqHe1mlcVi0ki5TkgISh9zLAOGFdhN5ZaNCt+9olfaOiyvYiFnbqx4TBPUXb8mMutDeNTT75zxH3MnWh6TRC47IGLRxU87O32EbaSJIL7h7QoYRKypmXVf46v5GvyPzz+8ojPfLTYTA4fXXg==", + "zip": "I0GNgwfC/dUU5sd62nYo4c3o4+WRf6FW6xyWj2IHH/q0Wx0efv0SQg+kfthLBep/8wBuUvzD2jzJaVPy9tIXn55OeNYYnmEhYh+Sx06zj7pIbCheLD8UM+tGOuPlcIn23BV4tTlUf/tl2eN57gjVOnO7eteOQDueOiCf7Nu1ydkncInLR11h9W0uuV22Na1MbeuEjbjzPcNgoXclOSTDINTxgURep5xe1BUj3qV4IIBC0TkU/1a+s5r0bDmnlh9R03zP0Vc48ljIkaGJIc4KlFPrhoU4Tt8c6Xi5aPmTNQ+uxaxN+F4BdkTJ6dlYyIyi6OTMUCLK2/KSzCn5J1myeA==" } } } diff --git a/tests/integration/features/beta.feature b/tests/integration/features/beta.feature index cfaa90fa..2d6a7e4b 100644 --- a/tests/integration/features/beta.feature +++ b/tests/integration/features/beta.feature @@ -809,22 +809,22 @@ Feature: Testing the update scenario of beta releases And the installation mtime is "11" When The request is sent Then The response is non-empty - And Update to version "35.0.0.6" is available - And URL to download is "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.zip" - And Download URLS contain "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.zip" - And Download URLS contain "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.tar.bz2" - And Download URLS contain "https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc1/nextcloud-35.0.0rc1.zip" - And Download URLS contain "https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc1/nextcloud-35.0.0rc1.tar.bz2" + And Update to version "35.0.0.7" is available + And URL to download is "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.zip" + And Download URLS contain "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.zip" + And Download URLS contain "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.tar.bz2" + And Download URLS contain "https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc2/nextcloud-35.0.0rc2.zip" + And Download URLS contain "https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc2/nextcloud-35.0.0rc2.tar.bz2" And URL to documentation is "https://docs.nextcloud.com/server/35/admin_manual/maintenance/upgrade.html" And EOL is set to "0" And The signature is """ - C5LDdXe9PPI8rRWrtGMGUsUixB49K5IsfhuJUcPwG4cUPhDC12pue7+iaIEpYh3C - knTZVAUQWgtAbxCbxpZSa6/RcCRhNHKGo372EpEtjI+akk3rPg9HK6WcI0TBs+ll - dDtk08lE6CWygHANAh3r3Cdp+HKfq4bnM/LDnKLcNIiENCyEskK6F0+ycU6liuSc - u65iHRLqM9n240fwlgTUto4AqvRUPXaUrPTbwR6gxiMeRDVDmHu0Xmsjux+YhHAe - Kqikl6TE8XCMHBSVvvvn0SwXzsqlYe4z8nSgndlwOnozSxBOzoKWowuhewCZO4ag - I6FQ2B4QIcq9uqcqO9PVDg== + I0GNgwfC/dUU5sd62nYo4c3o4+WRf6FW6xyWj2IHH/q0Wx0efv0SQg+kfthLBep/ + 8wBuUvzD2jzJaVPy9tIXn55OeNYYnmEhYh+Sx06zj7pIbCheLD8UM+tGOuPlcIn2 + 3BV4tTlUf/tl2eN57gjVOnO7eteOQDueOiCf7Nu1ydkncInLR11h9W0uuV22Na1M + beuEjbjzPcNgoXclOSTDINTxgURep5xe1BUj3qV4IIBC0TkU/1a+s5r0bDmnlh9R + 03zP0Vc48ljIkaGJIc4KlFPrhoU4Tt8c6Xi5aPmTNQ+uxaxN+F4BdkTJ6dlYyIyi + 6OTMUCLK2/KSzCn5J1myeA== """ Scenario: Updating Nextcloud 34 on the beta channel @@ -834,20 +834,20 @@ Feature: Testing the update scenario of beta releases And the installation mtime is "11" When The request is sent Then The response is non-empty - And Update to version "35.0.0.6" is available - And URL to download is "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.zip" - And Download URLS contain "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.zip" - And Download URLS contain "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.tar.bz2" - And Download URLS contain "https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc1/nextcloud-35.0.0rc1.zip" - And Download URLS contain "https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc1/nextcloud-35.0.0rc1.tar.bz2" + And Update to version "35.0.0.7" is available + And URL to download is "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.zip" + And Download URLS contain "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.zip" + And Download URLS contain "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.tar.bz2" + And Download URLS contain "https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc2/nextcloud-35.0.0rc2.zip" + And Download URLS contain "https://github.com/nextcloud-releases/server/releases/download/v35.0.0rc2/nextcloud-35.0.0rc2.tar.bz2" And URL to documentation is "https://docs.nextcloud.com/server/35/admin_manual/maintenance/upgrade.html" And EOL is set to "0" And The signature is """ - C5LDdXe9PPI8rRWrtGMGUsUixB49K5IsfhuJUcPwG4cUPhDC12pue7+iaIEpYh3C - knTZVAUQWgtAbxCbxpZSa6/RcCRhNHKGo372EpEtjI+akk3rPg9HK6WcI0TBs+ll - dDtk08lE6CWygHANAh3r3Cdp+HKfq4bnM/LDnKLcNIiENCyEskK6F0+ycU6liuSc - u65iHRLqM9n240fwlgTUto4AqvRUPXaUrPTbwR6gxiMeRDVDmHu0Xmsjux+YhHAe - Kqikl6TE8XCMHBSVvvvn0SwXzsqlYe4z8nSgndlwOnozSxBOzoKWowuhewCZO4ag - I6FQ2B4QIcq9uqcqO9PVDg== + I0GNgwfC/dUU5sd62nYo4c3o4+WRf6FW6xyWj2IHH/q0Wx0efv0SQg+kfthLBep/ + 8wBuUvzD2jzJaVPy9tIXn55OeNYYnmEhYh+Sx06zj7pIbCheLD8UM+tGOuPlcIn2 + 3BV4tTlUf/tl2eN57gjVOnO7eteOQDueOiCf7Nu1ydkncInLR11h9W0uuV22Na1M + beuEjbjzPcNgoXclOSTDINTxgURep5xe1BUj3qV4IIBC0TkU/1a+s5r0bDmnlh9R + 03zP0Vc48ljIkaGJIc4KlFPrhoU4Tt8c6Xi5aPmTNQ+uxaxN+F4BdkTJ6dlYyIyi + 6OTMUCLK2/KSzCn5J1myeA== """ diff --git a/tests/integration/features/latest.feature b/tests/integration/features/latest.feature index 9f24787d..ac447e33 100644 --- a/tests/integration/features/latest.feature +++ b/tests/integration/features/latest.feature @@ -11,8 +11,8 @@ Feature: Testing the latest endpoint Given I want to know the latest beta release When I send a request latest.php Then The JSON response is non-empty - And Version "35.0.0 RC1" is the latest release - And URL to download is "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc1.zip" + And Version "35.0.0 RC2" is the latest release + And URL to download is "https://download.nextcloud.com/server/prereleases/nextcloud-35.0.0rc2.zip" Scenario: Get latest stable version with PHP 8.0 Given I want to know the latest stable release