Details
-
Bug
-
Status: Verified (View Workflow)
-
Major
-
Resolution: Unresolved
-
BB V1.04
-
None
-
Sprint 6 (24.03.2025), Sprint 7 (07.04.2025)
Description
Problem: BuildBot not testing the right revision for Pull Requests
Affected build (one of many) https://buildbot.mariadb.org/#/builders/1/builds/54818
where:
- got_revision (what is actually in the tarball) is: 0202b071ab0bcf6cf8663f48c1ab934a3f1b8f33
- and revision (what metadata buildbot received via webhook) is f041b02ec1e28ca0f743abf3bf07e2349b2fab1e
How to reproduce
$ git clone --no-checkout --depth 1 https://github.com/MariaDB/server . |
|
### Try with pull/#ID#/merge - WHAT BUILDBOT DOES
|
$ git fetch https://github.com/MariaDB/server refs/pull/3826/merge --depth 1 |
...
|
...
|
From https://github.com/MariaDB/server |
* branch refs/pull/3826/merge -> FETCH_HEAD |
|
$ git checkout FETCH_HEAD
|
...
|
...
|
HEAD is now at 0202b071 Merge ca561443a28dfbd1b3fb6315187315a12e9fa221 into 839828e57fdf734b15c81cb9cb76d3760a9161f1
|
|
### ONE DAY OLD COMMIT
|
git log
|
commit 0202b071ab0bcf6cf8663f48c1ab934a3f1b8f33 (grafted, HEAD)
|
Author: Marko Mäkelä <marko.makela@mariadb.com>
|
Date: Mon Mar 17 08:52:31 2025 +0100
|
|
Merge ca561443a28dfbd1b3fb6315187315a12e9fa221 into 839828e57fdf734b15c81cb9cb76d3760a9161f1
|
|
### THIS IS NOT OK, LIMIT 45000 shouldn't be present as per PR.
|
$ cat mysql-test/suite/innodb/r/lock_memory_debug.result | grep "t1 g" |
INSERT INTO t1 SELECT a.* FROM t1 a, t1 b, t1 c, t1 d, t1 e, t1 f, t1 g LIMIT 45000;
|
|
|
### Now let's try with pull/#ID#/head
|
$ git fetch https://github.com/MariaDB/server refs/pull/3826/head --depth 1 |
...
|
...
|
From https://github.com/MariaDB/server |
* branch refs/pull/3826/head -> FETCH_HEAD |
|
|
$ git checkout FETCH_HEAD
|
...
|
...
|
HEAD is now at 1f278e70 squash! a878a8ffde539c9c8c1693290d58d1f2d9ba70a8
|
|
### THIS IS OK
|
$ cat mysql-test/suite/innodb/r/lock_memory_debug.result | grep "t1 g;" |
INSERT INTO t1 SELECT a.* FROM t1 a, t1 b, t1 c, t1 d, t1 e, t1 f, t1 g;
|
|
As seen from the printscreen below 1f278e70 is the right commit to test.
BuildBot will use the /merge branch and its HEAD commit is what is packaged on ci.mariadb.org and tested by all builders.
Attachments
Activity
Field | Original Value | New Value |
---|---|---|
Description |
[Zulip report|https://mariadb.zulipchat.com/#narrow/channel/236699-Buildbot/topic/corrupted.20file.20system.20on.20x86/near/506490342]
*Problem*: BuildBot not testing the right revision for Pull Requests *Affected build (one of many)* https://buildbot.mariadb.org/#/builders/1/builds/54818 where: - *got_revision* (what is actually in the tarball) is: *0202b071ab0bcf6cf8663f48c1ab934a3f1b8f33* - and *revision* (what metadata buildbot received via webhook) is *f041b02ec1e28ca0f743abf3bf07e2349b2fab1e* *How to reproduce* {code:bash} $ git clone --no-checkout --depth 1 https://github.com/MariaDB/server . ### Try with pull/#ID#/merge - WHAT BUILDBOT DOES $ git fetch https://github.com/MariaDB/server refs/pull/3826/merge --depth 1 ... ... From https://github.com/MariaDB/server * branch refs/pull/3826/merge -> FETCH_HEAD $ git checkout FETCH_HEAD ... ... HEAD is now at 0202b071 Merge ca561443a28dfbd1b3fb6315187315a12e9fa221 into 839828e57fdf734b15c81cb9cb76d3760a9161f1 ### ONE DAY OLD COMMIT git log commit 0202b071ab0bcf6cf8663f48c1ab934a3f1b8f33 (grafted, HEAD) Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Mar 17 08:52:31 2025 +0100 Merge ca561443a28dfbd1b3fb6315187315a12e9fa221 into 839828e57fdf734b15c81cb9cb76d3760a9161f1 ### THIS IS NOT OK, LIMIT 45000 shouldn't be present as per PR. $ cat mysql-test/suite/innodb/r/lock_memory_debug.result | grep "t1 g" INSERT INTO t1 SELECT a.* FROM t1 a, t1 b, t1 c, t1 d, t1 e, t1 f, t1 g LIMIT 45000; ### Now let's try with pull/#ID#/head $ git fetch https://github.com/MariaDB/server refs/pull/3826/head --depth 1 ... ... From https://github.com/MariaDB/server * branch refs/pull/3826/head -> FETCH_HEAD $ git checkout FETCH_HEAD ... ... HEAD is now at 1f278e70 squash! a878a8ffde539c9c8c1693290d58d1f2d9ba70a8 ### THIS IS OK $ cat mysql-test/suite/innodb/r/lock_memory_debug.result | grep "t1 g;" INSERT INTO t1 SELECT a.* FROM t1 a, t1 b, t1 c, t1 d, t1 e, t1 f, t1 g; {code} As seen from the printscreen below *1f278e70* is the right commit to test. BuildBot will use the */merge* branch and the HEAD of it is what is packaged and tested by all builders. !image-2025-03-18-18-12-16-638.png|thumbnail! |
[Zulip report|https://mariadb.zulipchat.com/#narrow/channel/236699-Buildbot/topic/corrupted.20file.20system.20on.20x86/near/506490342]
*Problem*: BuildBot not testing the right revision for Pull Requests *Affected build (one of many)* https://buildbot.mariadb.org/#/builders/1/builds/54818 where: - *got_revision* (what is actually in the tarball) is: *0202b071ab0bcf6cf8663f48c1ab934a3f1b8f33* - and *revision* (what metadata buildbot received via webhook) is *f041b02ec1e28ca0f743abf3bf07e2349b2fab1e* *How to reproduce* {code:bash} $ git clone --no-checkout --depth 1 https://github.com/MariaDB/server . ### Try with pull/#ID#/merge - WHAT BUILDBOT DOES $ git fetch https://github.com/MariaDB/server refs/pull/3826/merge --depth 1 ... ... From https://github.com/MariaDB/server * branch refs/pull/3826/merge -> FETCH_HEAD $ git checkout FETCH_HEAD ... ... HEAD is now at 0202b071 Merge ca561443a28dfbd1b3fb6315187315a12e9fa221 into 839828e57fdf734b15c81cb9cb76d3760a9161f1 ### ONE DAY OLD COMMIT git log commit 0202b071ab0bcf6cf8663f48c1ab934a3f1b8f33 (grafted, HEAD) Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Mar 17 08:52:31 2025 +0100 Merge ca561443a28dfbd1b3fb6315187315a12e9fa221 into 839828e57fdf734b15c81cb9cb76d3760a9161f1 ### THIS IS NOT OK, LIMIT 45000 shouldn't be present as per PR. $ cat mysql-test/suite/innodb/r/lock_memory_debug.result | grep "t1 g" INSERT INTO t1 SELECT a.* FROM t1 a, t1 b, t1 c, t1 d, t1 e, t1 f, t1 g LIMIT 45000; ### Now let's try with pull/#ID#/head $ git fetch https://github.com/MariaDB/server refs/pull/3826/head --depth 1 ... ... From https://github.com/MariaDB/server * branch refs/pull/3826/head -> FETCH_HEAD $ git checkout FETCH_HEAD ... ... HEAD is now at 1f278e70 squash! a878a8ffde539c9c8c1693290d58d1f2d9ba70a8 ### THIS IS OK $ cat mysql-test/suite/innodb/r/lock_memory_debug.result | grep "t1 g;" INSERT INTO t1 SELECT a.* FROM t1 a, t1 b, t1 c, t1 d, t1 e, t1 f, t1 g; {code} As seen from the printscreen below *1f278e70* is the right commit to test. BuildBot will use the */merge* branch and its HEAD commit is what is packaged on ci.mariadb.org and tested by all builders. !image-2025-03-18-18-12-16-638.png|thumbnail! |
Worklog Id | 134781 [ 134781 ] | |
Remaining Estimate | 0d [ 0 ] | |
Time Spent | 1.5h [ 5400 ] |
Sprint | Sprint 6 (24.03.2025) [ 791 ] |
Rank | Ranked higher |
Assignee | Varzaru Razvan-Liviu [ JIRAUSER55297 ] |
Original Estimate | 0.5d [ 14400 ] |
Remaining Estimate | 0d [ 0 ] | 0.5d [ 14400 ] |
Affects Version/s | BB V1.04 [ 30120 ] |
Fix Version/s | BB V1.05 [ 30132 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Status | In Review [ 10002 ] | In Testing [ 10301 ] |
Sprint | Sprint 6 (24.03.2025) [ 791 ] | Sprint 6 (24.03.2025), Sprint 7 (07.04.2025) [ 791, 796 ] |
Status | In Testing [ 10301 ] | Verified [ 10102 ] |
Worklog Id | 135539 [ 135539 ] | |
Remaining Estimate | 0.5d [ 14400 ] | 0.25d [ 7200 ] |
Time Spent | 1.5h [ 5400 ] | 3.5h [ 12600 ] |
cvicentiu / danblack
I think we should consider telling buildbot to track refs/pull/#ID#/head. What do you think?
https://docs.buildbot.net/latest/manual/configuration/wwwhooks.html
https://docs.buildbot.net/latest/manual/configuration/steps/source_github.html
Something like:
}
}
One of the best explanations I've read so far that motivates me to switch to refs/pull/head
https://github.com/readthedocs/readthedocs.org/issues/6958#issuecomment-655203986
And we already have enforced that the developer must rebase before merging, at this point pull/head == pull/merge
The Require branches to be up to date before merging box is checked on our branches.