Move CI to Nextcloud 34 and fix Lint and integration failures - #60
Merged
Merged
Conversation
Drop NC 32/33 from the integration matrix; NC 35 joins once nextcloud:35 is published. Exempt the job gateway from password confirmation, which NC 34.0.1+ no longer grants to app-password sessions, and set the real ratelimit.protection.enabled key. Fix the ruff 0.16.7 and pyright (icalendar 7.2+ types) findings and document the app-password limitation in the README. Signed-off-by: Oleksandr Piskun <oleksandr2088@icloud.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The circles app locks member rows with SELECT ... FOR UPDATE, which Nextcloud's SQLite platform rejects, so promoting a member to owner always fails on the SQLite CI instance. Signed-off-by: Oleksandr Piskun <oleksandr2088@icloud.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #60 +/- ##
===========================================
+ Coverage 43.77% 96.22% +52.44%
===========================================
Files 31 31
Lines 3367 3363 -4
===========================================
+ Hits 1474 3236 +1762
+ Misses 1893 127 -1766
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI on
mainis red in all three places: Lint (since June), and the integration jobs on both Nextcloud 32 and 33 after the 2026-09-10 maintenance releases. This moves the integration matrix to Nextcloud 34, drops 32 and 33, and fixes each failure.Integration tests
["34"]in all three jobs. Nextcloud 35 goes final on 2026-09-16, butnextcloud:35is not on Docker Hub yet, so it joins once the image is published (the workflow comment also says to raiseafter_n_buildsincodecov.ymlback to 9; it is 6 for a single-version matrix, otherwise Codecov waits forever).create_user,delete_user,enable_appanddisable_appreturn 403 "Password confirmation is required". The main job now adds the job network gateway, where test requests come from, toallowed_no_password_confirmation_ranges.ratelimit_protection_enabled, which Nextcloud does not read; the real key isratelimit.protection.enabled. That removes the circlescreate429s (10 per minute) and makes the sharesratelimit_overwritelines redundant, so they are gone.SELECT ... FOR UPDATE, which Nextcloud's SQLite platform rejects ("Operation 'FOR UPDATE' is not supported by platform"), sotest_promote_to_owner_transfers_and_demotes_callerfailed 3 of 3 times on SQLitenextcloud:34. It still runs (and passes) on MySQL/PostgreSQL.occ user:auth-tokens:add(it reads a--login-nameoption that stable33 never defines), which is why NC 33 failed before running any test. 34.0.4 is not affected.Lint
PLR0917(too many positional arguments) on 25 signatures, mostly MCP tools; it is ignored next toPLR0913. The sixFURB192hits intest_versions.pyusemin()now.Component.__getitem__as a union of every property class._format_eventand_format_tasknow narrow withisinstanceand read the typedcategoriesproperty, which exists since icalendar 7.0.0. Parsed output is byte-identical for multipleCATEGORIESlines, escaped commas, missing categories andRRULE.README
The Nextcloud badge is 34 | 35, the CI paragraph is updated, and "Getting an App Password" explains the password-confirmation limitation for the four admin tools and the
allowed_no_password_confirmation_rangessetting (34.0.3 and newer).Verification
ruff check,ruff format --check,isort --check src/andpyright1.1.414 are clean; unit tests: 104 passed.nextcloud:34(34.0.4) container configured like CI: user creation with an app password returns 403 without the range and 200 with the gateway range; 15 consecutive circle creations all return 200 withratelimit.protection.enabled=false;test_session_cache.py12 passed (its app-password tests were skipped on 33);test_calendar.pyandtest_tasks.py95 passed.