Skip to content

fix(ci): improvements and CI time reduction#231

Merged
kyteinsky merged 14 commits intomainfrom
fix/ci-improvements
Apr 13, 2026
Merged

fix(ci): improvements and CI time reduction#231
kyteinsky merged 14 commits intomainfrom
fix/ci-improvements

Conversation

@kyteinsky
Copy link
Copy Markdown
Contributor

also update the actions

Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
@kyteinsky kyteinsky force-pushed the fix/ci-improvements branch from 217252c to 52ad657 Compare April 10, 2026 11:27
@kyteinsky kyteinsky requested a review from marcelklehr April 10, 2026 12:08
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Copy link
Copy Markdown
Contributor Author

@kyteinsky kyteinsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there seems to be a weird issue with integration-test-file-listener.

OUT_TEST_PROMPT_JOBS test in Run the prompts again step fails.
It checks for the presence of "background jobs" in the prompt returned by the testing app, which contains the chunks of documents and their paths.
The output shows "files/developer_manual/basics/backgroundjobs.md" (files__default: 1540) but the body is empty, same for a few others.

The most part of Nextcloud is written in PHP, Typescript / JavaScript, so we have some more fine grained coding standards for those languages:

.. toctree::
	:maxdepth: 1

	php
	javascript
	html_css

License headers

files/developer_manual/basics/backgroundjobs.md

files/developer_manual/basics/dependency_injection.md

files/developer_manual/design/atomiccomponents.md

How do I set my TimedJob to be time insensitive?

Indexing logs show that it was not empty when parsed. They were most probably added since there is no log saying "Some sources were not loaded".

2026-04-10T12:23:01.9868809Z {"timestamp": "2026-04-10T11:51:27.073947+00:00", "level": "DEBUG", "logger": "ccb.injest", "message": "processing source", "filename": "injest.py", "function": "_sources_to_indocuments", "line": 57, "thread_name": "AnyIO worker thread", "pid": 18270, "version": "5.3.0", "source_id": "files__default: 1540"}
2026-04-10T12:23:01.9870170Z {"timestamp": "2026-04-10T11:51:27.074654+00:00", "level": "DEBUG", "logger": "ccb.injest", "message": "decoded non empty source", "filename": "injest.py", "function": "_sources_to_indocuments", "line": 77, "thread_name": "AnyIO worker thread", "pid": 18270, "version": "5.3.0", "source_id": "files__default: 1540"}
2026-04-10T12:23:01.9871720Z {"timestamp": "2026-04-10T11:51:27.074846+00:00", "level": "DEBUG", "logger": "ccb.injest", "message": "split document into chunks", "filename": "injest.py", "function": "_sources_to_indocuments", "line": 88, "thread_name": "AnyIO worker thread", "pid": 18270, "version": "5.3.0", "source_id": "files__default: 1540", "len(split_docs)": 5}

Then the share to the test user also goes through:

2026-04-10T12:23:02.3501015Z {"timestamp": "2026-04-10T12:08:36.882961+00:00", "level": "DEBUG", "logger": "ccb.controller", "message": "Update access declarative request:", "filename": "controller.py", "function": "_", "line": 222, "thread_name": "AnyIO worker thread", "pid": 6021, "version": "5.3.0", "user_ids": ["admin", "test"], "source_id": "files__default: 1540"}
2026-04-10T12:23:02.3502264Z {"timestamp": "2026-04-10T12:08:37.388690+00:00", "level": "DEBUG", "logger": "ccb.vectordb", "message": "decl update access", "filename": "service.py", "function": "decl_update_access", "line": 63, "thread_name": "AnyIO worker thread", "pid": 28273, "version": "5.3.0", "user_ids": ["admin", "test"], "source_id": "files__default: 1540"}
2026-04-10T12:23:02.3503330Z {"timestamp": "2026-04-10T12:08:37.411353+00:00", "level": "INFO", "logger": "uvicorn.access", "message": "127.0.0.1:54262 - \"POST /updateAccessDeclarative HTTP/1.1\" 200", "filename": "h11_impl.py", "function": "send", "line": 482, "thread_name": "MainThread", "pid": 6021, "version": "5.3.0"}

run: |
echo "Downloading release tarball from $DOWNLOAD_URL"
wget $DOWNLOAD_URL -O nextcloud.zip
unzip nextcloud.zip
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

./occ config:app:set --value 30 --type integer context_chat indexing_job_interval # 30 seconds
./occ config:app:set --value 10 --type integer context_chat crawl_job_interval # 10 seconds
./occ config:app:set --value '10' --type string context_chat action_job_interval # 10 seconds
./occ config:app:set --value '10' --type string context_chat fs_listener_job_interval # 10 seconds
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably remove action_job_interval, indexing_job_interval

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still on the old base, will do if we decide to switch to the new one, or do separate changes for the new PR.

./occ config:app:set --value 30 --type integer context_chat indexing_job_interval # 30 seconds
./occ config:app:set --value 10 --type integer context_chat crawl_job_interval # 10 seconds
./occ config:app:set --value '10' --type string context_chat action_job_interval # 10 seconds
./occ config:app:set --value '10' --type string context_chat fs_listener_job_interval # 10 seconds
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto


echo "Check for user admin: Should be there" # ---------------

echo "::group::Check english prompt with admin user"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neat trick!

./occ files:scan admin
./occ context_chat:scan admin -m text/markdown &
./occ context_chat:scan admin -m text/x-rst &
./occ context_chat:scan admin -m application/pdf &
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This command was removed no?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we're basing this still on the previous version
although, it might make sense to just do the CI improvements for the new reverse flow PR.

Comment thread composer.json
"require-dev": {
"nextcloud/coding-standard": "^1.3.2",
"nextcloud/ocp": "dev-master",
"nextcloud/ocp": "dev-stable32",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had accidentally used some function that wasn't available in NC32 once but it worked on my machine and IDE completion since it referred to the latest definitions.
It was caught in CI but this might still make sense.

@kyteinsky
Copy link
Copy Markdown
Contributor Author

force-merging since major changes land in reverse content flow PR which require changing the CI, the issue here will be fixed there.

@kyteinsky kyteinsky merged commit 4876020 into main Apr 13, 2026
26 of 29 checks passed
@kyteinsky kyteinsky deleted the fix/ci-improvements branch April 13, 2026 10:31
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