Skip to content

Commit 658cafe

Browse files
authored
Merge pull request #2065 from ConductionNL/feature/integriq-nc35-support
chore(deps): Nextcloud 35 support (max-version 34 -> 35)
2 parents 96e76d7 + 2d25638 commit 658cafe

116 files changed

Lines changed: 10496 additions & 6575 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/code-quality.yml‎

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -161,34 +161,35 @@ jobs:
161161
# need the matching runtime or `vendor/composer/platform_check.php` aborts
162162
# with `Composer dependencies require a PHP version ">= 8.3.0"`.
163163
php-version: "8.3"
164-
# Set explicitly, because the shared workflow defaults to
165-
# `["stable31", "stable32"]` and stable31 CANNOT WORK here. integriq
166-
# declares <app>openregister</app> as a hard dependency, and openregister
167-
# declares min-version="32". On NC31 the E2E job logs
168-
# App "Open Register" cannot be installed because it is not compatible
169-
# with this version of the server.
170-
# then continues with a WARNING, so the run proceeds without its central
171-
# dependency and fails ~70s later on missing tables — which reads like a
172-
# migration fault rather than a missing app. Testing a version the app
173-
# cannot support produces red that says nothing. See issue #1172.
174-
#
175-
# WHY THIS IS NOW stable34 AND NOT `["stable32", "stable33"]`. This PR
176-
# moves the dev requirement to `nextcloud/ocp ^34`, so the stubs every
177-
# static-analysis leg resolves against are NC34's. Running the suite
178-
# against an older server would check the app under one set of API
179-
# signatures and analyse it under another, and the two disagreeing is
180-
# exactly the class of defect the analysers exist to find.
181-
#
182-
# ✅ THE NARROWING IS CLOSED, THE FIRST WAY. The previous revision of this
183-
# comment recorded a deliberate trade: info.xml declared three server
184-
# versions while the suite exercised one, leaving NC32 and NC33 unmeasured
185-
# rather than known-broken. It named its own closure condition — "restoring
186-
# the older refs alongside stable34 once ocp ^34 stubs are proven compatible
187-
# with them" — and that condition is now met: portaliq runs stable32,
188-
# stable33 and stable34 against `nextcloud/ocp ^34` and all six PHPUnit
189-
# legs pass (run 31599055849). So the refs come back rather than info.xml's
190-
# floor going up, and the two numbers agree again.
191-
nextcloud-test-refs: '["stable34", "stable32", "stable33"]'
164+
# NO `nextcloud-test-refs` HERE, DELIBERATELY. Unset, the shared workflow
165+
# derives the PHPUnit matrix from appinfo/info.xml, so the tested range and
166+
# the declared range cannot disagree.
167+
#
168+
# THIS BUMP IS WHY IT HAD TO GO. The list read
169+
# `["stable34", "stable32", "stable33"]` while info.xml now declares NC
170+
# 32-35 — gate-65 rule 11, NC 35 advertised to the App Store and exercised
171+
# by nothing. Appending "stable35" would clear the gate for this PR and
172+
# re-arm the same trap for NC 36; worse, it would arm it on `development`
173+
# rather than here, because the gate fires on the manifest/matrix
174+
# disagreement for EVERY later PR, not just the one that introduced it.
175+
# openregister#3777 took the same decision for the same reason.
176+
#
177+
# WHAT THE OLD LIST WAS PROTECTING, AND WHY IT NO LONGER HAS TO. Its first
178+
# entry mattered: E2E, newman and journeydoc-capture ran against
179+
# `fromJSON(nextcloud-test-refs)[0]`, so stable34 had to lead to keep them
180+
# off a server openregister cannot load — openregister declares
181+
# min-version="32", and on NC31 the E2E job logged `App "Open Register"
182+
# cannot be installed…`, continued with a WARNING, and failed ~70s later on
183+
# missing tables (issue #1172). Those jobs now consume the workflow's
184+
# `single-server` output — the numerically highest branch in the resolved
185+
# set — so list order is inert and the floor is carried by info.xml's
186+
# min-version="32" instead of by a hand-written array.
187+
#
188+
# THE stable35 LEG DEPENDS ON openregister. `additional-apps` below installs
189+
# openregister from `development`, and the shared workflow aborts a job whose
190+
# `occ app:enable` fails for an additional app. openregister#3777 (max-version
191+
# 34 -> 35) is merged, so that leg can enable it; if openregister's declared
192+
# ceiling ever lags this one again, this leg is where it will show.
192193
# `hydra-gates-require-full-coverage: false` is REMOVED here, exactly as
193194
# the comment it replaced instructed: "Remove this line in the change
194195
# that wires those producers up, so the coverage requirement arrives with

‎appinfo/info.xml‎

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,31 @@
5959
object — so the app cannot function there. Declaring 28 advertised a range
6060
this app cannot deliver. See issue #1172.
6161
62-
max-version is 34, NOT 35, for the same "do not advertise a range you
63-
cannot deliver" reason in the other direction: NC 35 does not exist —
64-
there is no tag, no branch, and this app's own CI matrix has no leg past
65-
stable33. The rest of the fleet declares 34; integriq was the only
66-
repo claiming 35, so the claim was untested everywhere it mattered.
62+
max-version is 35. The previous 34 was recorded here because "NC 35 does
63+
not exist — there is no tag, no branch"; nextcloud/server now carries
64+
stable35 and nextcloud/ocp has shipped v35.0.0, so that reason has
65+
expired. This app's own surface was checked against the change rather
66+
than assumed: of the eleven OCP classes removed in 35 (the OCP\Remote\*
67+
family, AutoCompleteEvent, CacheInsertEvent, CacheUpdateEvent) integriq
68+
references none, and the migration-signature break that NC 35 introduced
69+
— ISchemaWrapper handing out OCP\DB\Schema\ITable where Doctrine's
70+
Schema\Table used to be — cannot reach this app: it ships ONE migration
71+
and that migration type-hints no table at all. The two symfony packages
72+
NC 35 core ships and an app can collide with, console and
73+
http-foundation, are already required at ^7.4 here, which is what
74+
stable35's 3rdparty declares (^7.4.15).
75+
76+
THE CLAIM STILL DEPENDS ON openregister. min-version above is 32 because
77+
openregister is a HARD dependency and declares 32; the same sentence
78+
governs this end of the range. openregister declares max-version="34"
79+
today, so on NC 35 it refuses to install and every integriq entity —
80+
each one an OpenRegister object — has nowhere to live. This bump is
81+
therefore correct about integriq and premature about the stack until
82+
ConductionNL/openregister#3777 (max-version 34 -> 35) merges. Landing it
83+
first would re-advertise a range this app cannot deliver, which is the
84+
exact mistake the deleted paragraph above was written to record.
6785
-->
68-
<nextcloud min-version="32" max-version="34"/>
86+
<nextcloud min-version="32" max-version="35"/>
6987
</dependencies>
7088

7189
<background-jobs>

‎l10n/.schema-l10n-baseline.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"uncovered": 1111
2+
"uncovered": 0
33
}

0 commit comments

Comments
 (0)