Skip to content

Syncing from upstream odoo/runbot (19.0-parent_id-is-a-params-xdo)#1072

Open
bt-admin wants to merge 67 commits intobrain-tec:19.0-parent_id-is-a-params-xdofrom
odoo:19.0-parent_id-is-a-params-xdo
Open

Syncing from upstream odoo/runbot (19.0-parent_id-is-a-params-xdo)#1072
bt-admin wants to merge 67 commits intobrain-tec:19.0-parent_id-is-a-params-xdofrom
odoo:19.0-parent_id-is-a-params-xdo

Conversation

@bt-admin
Copy link
Copy Markdown

bt_gitbot

d-fence and others added 30 commits February 3, 2026 15:03
When a build error has test-tags, a red ribbon is displayed but when the
user scrolls the ribbon is not visible anymore. In that case, it happens
that an error is archived while having disabling tags.

With this commit, test active field is displayed in red with a warning
sign in order to bring user attention.
Before this commit, build error's random field is recomputed on
error_content_ids change. But flagging an existing error content as
random doesn't change it (which could be useful when manually flagging
one as such). This commit adapts the dependency accordingly.

Also, it allows to manually flag tbe BuildError as random.
Before this commit, and since the update to Odoo 19.0,
click/middle-click on FrontendUrl fields in list view opened the
record's modal form view in addition to the actual link in a new tab.

This commit fixes it by stopping the event's propagation beyond the
actual `<a>` tag.

Steps to reproduce:
- open an error's form view,
- in the Error Content list view, click on the first/last seen date
- related build link opens in a new tab
=> the error's form view also opens in modal
Obvisoulsy #1312 was not enough, it was only applied on BuildErrorContent.
So it was working when all build error contents had the same version
ids or if they appeared in the right order.

With this commit, the sorting is applied on the build error computed
versions.
- Add breaking pr to the fields to merge
- Add a test
IF a new root file is added in a repo, don't add codeowner fallback and
make the build fails since it is most likely an error.

This will avoid codeowner fallback to be notified on all pr introducing
trash file at the root.
When a user is assigned as a responsible to a build error, he cannot
interact with the error unless being an admin or an error manager.

With this commit, any runbot user can modify some pre defined fields on
build error :
 - responsible
 - fixing_pr_id
 - breaking_pr_id
 - customer
 - random
 - team_id
Before this commit, to export some threehash, the commit is used to
check if the commit is present or not.

This can be a problem when rebuilding an old build that was linked to a
previous one by a threehash after a forcepush, because the old commit
may not be known by github anymore.

Not sure why it was the case since it looks like fetch works fine with
a threehash, so fixing it by fetching the threehash should be enough.
When a last batch is in prepare mode there no builds available on it
yet. As the build is only used to extract the version information, the
laste done batch can be used instead to ensure that a build is
available.
- fixes the drop database timeout: since the connection is autocommit
the LOCAL statement had no effect on the dropdatabase. Since the
connection is not used for anything else and not added to a pool, we can
just set the statement timeout for the whole connection.

- removes confusing quotes in the help of the additionnal_env field
Add the "next freeze" tag field on runbot's project and the link to the
current project's "next freeze" tag in the frontend's navbar.
The `ADD` directive used for remote resources sometimes fails when the
resource is not available. In order to avoid that kind of failure, this
commit adds a kind of cache of those resources. In order to do that, the
`ADD http...` directives are converted into `COPY` and the distant
resource is downloaded in a cache directory when a `# CACHE xxxx`
comment is found just before the `ADD`. Where `xxxx`is the cache
validity duration in seconds.
This commit updates the Chrome version used in the default docker image.
Most standard build (testing, installing, ...) don't really need the
version to runbot

The version is mostly needed for upgrades builds and lint builds using
conditionnal logic based on version.

As an example, the template build used for the freeze is first created
in master, and after the freeze with (almost) the same commit becames
the freezed version. With this change, the template build can be linked
immediatly (if the docker file is the same)
When using automatic rebase, in some cases the created build could be
linked to an existing one.

This is becase since threehash we don't use the commit.id, and thus
ignore the rebase_on in the fingerprint

This fixes the issue by adding the rebase_on treehash in the fingerprint

In an ideal world we would be able to predict the threehash if the
rebase was real.
Can be set on staging bundle to increase priority

First builds of forwarports will have a lower priority.
No need to set @odoo-module tag at top of .js files as it is already the
default.
Xavier-Do and others added 19 commits March 27, 2026 11:16
If no trigger is found, a crash would happen when trying to call 'id' on
it (when trying to pass its value to the JS script).
This branches adds
- a hook for mergebot to request the start of all builds in full mode
- fields on project to define ways to enable light config by default.
- fixes Action visibility for non advanced users
This commit updates the Chrome version used in the default docker image.
BS button "default" variant styling coherence depending on the states
(regular/hover/active) and fixing the missing border color on active
state.

Also fix the search field's "github PR" button styling.
This commit adds the possibility to filter modules based on their
dependencies and dependants in the build configuration. This allows to
easily trigger tests on modules that are impacted by changes, even if
they are not directly modified.

To make it work the modules listing is now done only in the git
repository, without exporting sources, this should help to easily to
have faster builds when the only task is to create builds based on
modified modules. This should also and mostly help to test a dynamic
config without running it.
This will be a first step to test the message queue before switching
state recomputation inside it.
When a build is already ko, it should not be switched to killed
This fix replicates the logic of the requested action processing.
Remove some not so needed elements, add links on all file looking paths
@Xavier-Do Xavier-Do force-pushed the 19.0-parent_id-is-a-params-xdo branch from f60411d to a9622bf Compare April 23, 2026 06:46
Xavier-Do and others added 7 commits April 23, 2026 09:16
On an error, tests tags are joined by a comma and displayed in a single
line. This makes it hard to read and edit when there are many tags,
especially if they have parameters. This commit changes the separator to
a newline, making it easier to read and edit the tags.
In the future, it may also make the parsing more robust as we can
easily split on \n, but the validation is still a good idea.

This commit also adds a check on the format of the test tags to prevent
saving invalid tag and hopefully complelty preventing saving tags that
would break all builds.

While on it, fixing the impacted error domain for parametric tags
since right now they would match all errors ignoring the parameters
making this feature pretty much unusable.
When reusing a similar build as a quick result, first look for a build
with global_result == 'ok'. Fall back to the existing logic (any done
build not skipped/killed) only if no successful build is found.

Without this, a previously failed build could be used to shortcut
subsequent similar builds, propagating the failure without letting
them run.
When a breaking PR is assigned to multiple build errors, a stat button
now appears showing the count of duplicates. Clicking it opens a list
of errors sharing the same breaking PR, allowing the user to review
and potentially merge them.
Some build will use the parent to restore a database, this commits makes
taht more explicit by storing the parent as a param when needed.
@Xavier-Do Xavier-Do force-pushed the 19.0-parent_id-is-a-params-xdo branch from a9622bf to 9682404 Compare May 6, 2026 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants