Skip to content

ci: run the acceptance tests with Redis and include @local_storage - #744

Merged
phil-davis merged 3 commits into
masterfrom
ci/acceptance-redis
Oct 27, 2026
Merged

phil-davis merged 3 commits into
masterfrom
ci/acceptance-redis

Conversation

@oc-tmueller

Copy link
Copy Markdown
Member

Follows up on @jvillafanez's comment in #738 (#738 (comment)): the acceptance setup now includes Redis, as recommended for production.

Why it matters here. Without Redis, ownCloud locks files in the database, the image's default. With that, uploads into a local storage mount created during a test failed with 423 Locked. Which scenarios failed changed from run to run, so #738 had to exclude @local_storage. The same feature run locally against owncloud/server:11.0.1:

cliLocalStorage/showBackendsForMount.feature
database locking 2 of 20 passed, 18 × 423
Redis (OWNCLOUD_REDIS_ENABLED=true) 20 of 20 passed

Changes

  • run-part.sh:
    • starts redis:7 next to MariaDB and waits for PONG.
    • sets OWNCLOUD_REDIS_ENABLED=true and OWNCLOUD_REDIS_HOST on the server.
    • saves redis.log with the other logs.
  • acceptance.yml: ~@local_storage is no longer excluded.

Draft until the expected-failures lists match Redis. This PR's smoke run checks the smoke lists. A manual full run (workflow_dispatch on this branch, which doesn't publish) checks the full lists and the API @local_storage scenarios. Listed failures that now pass are removed here.

Open for review

  • The image's default database locking is then no longer covered by any acceptance run. A second job without Redis would keep it visible, and the 423 with database locking looks worth a look of its own.
  • redis:7 and mariadb:10.11 are floating tags that Renovate doesn't track in this script.

🤖 Generated with Claude Code

oc-tmueller and others added 3 commits October 26, 2026 14:28
Redis is the recommended setup for caching and file locking. Without
it ownCloud locks in the database, and uploads into a local storage
mount created during a test failed with 423 Locked, so @local_storage
was excluded. With Redis, cliLocalStorage/showBackendsForMount passes
20 of 20 scenarios, against 2 of 20 without it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
Stop with a clear message when the Redis container does not answer,
save its log with the others, and describe the 423 Locked failures as
observed rather than as an established cause.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
With Redis the WebDAV external storage CLI scenarios, the API local
storage sharing scenarios, apiMain/external-storage.feature:65 and
apiTrashbinRestore/trashbinRestore.feature:171 pass, so they come off
the smoke and full lists.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
@oc-tmueller
oc-tmueller marked this pull request as ready for review October 26, 2026 20:54
@oc-tmueller

Copy link
Copy Markdown
Member Author

@phil-davis @jvillafanez please review

@phil-davis
phil-davis merged commit dd1396b into master Oct 27, 2026
77 of 79 checks passed
@phil-davis
phil-davis deleted the ci/acceptance-redis branch October 27, 2026 05:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants