public inbox for kernelci@lists.linux.dev
 help / color / mirror / Atom feed
* KCIDB: Support more checkout data
@ 2024-08-21 17:02 Nikolai Kondrashov
  2024-08-26 10:39 ` Nikolai Kondrashov
  2024-09-16 11:43 ` Nikolai Kondrashov
  0 siblings, 2 replies; 3+ messages in thread
From: Nikolai Kondrashov @ 2024-08-21 17:02 UTC (permalink / raw)
  To: syzkaller, Dmitry Vyukov, Vishal Bhoj, Alice Ferrazzi,
	automated-testing, Cristian Marussi, Tim Bird, Johnson George,
	Veronika Kabatova, kernelci@lists.linux.dev, Don Zickus,
	Mark Brown, Philip Li, Denys Fedoryshchenko, Michael Hofmann,
	Tales da Aparecida, Aditya Nagesh, Jeny Dhruvit Sheth,
	Sachin Sant, Hambardzumyan, Minas

Hello again, everyone (potentially) involved with sending data to KCIDB,

The previous schema update (v4.4, test data enhancements) is already being
deployed, but I have prepared more backwards-compatible changes to go out with
v4.5.

This time I rolled everything into a single commit, but I'll split it up, if
we have disagreements, or need to work more on the changes.

The PR is at https://github.com/kernelci/kcidb-io/pull/87

But I'll repeat the commit message here:

Add support for three more checkout fields: `git_commit_tags`,
`git_commit_message`, and `git_repository_branch_tip`.

The `git_commit_tags` is an array of strings representing annotated tags
pointing directly at the commit being checked out, as seen in the source
repository. I.e. the output of `git tag --points-at <commit>`. Set to an empty
array, if the commit has no tags.

The `git_commit_message` is intended to hold the complete message of the
commit being checked out, *both* subject and body. I.e. the output of `git
show -s --format=%B`. We're putting the subject and the body together, as it's
quite easy to extract the subject in SQL, while full-text search is easier and
more efficient to do over a single column.

Finally, the `git_repository_branch_tip` is a boolean flag, which should be
set to `true`, when the commit being checked out is at the tip of the branch
at the moment of the checkout (as specified in `start_time`). Essentially, if
you're always testing only the tip of the branch, you can set this to `true`
unconditionally. This flag would let us extract the checkouts which
represented the branch state over time, and produce a rough history of branch
changes, which we can then use for (regression) analysis and graphs, in lieu
of actual commit graph walking.

The (abbreviated) schema for all three fields is below and is very simple:

    "git_commit_tags": {
        "type": "array",
        "items": {"type": "string"},
    },
    "git_commit_message": {"type": "string"},
    "git_repository_branch_tip": {"type": "boolean"}

The PR has the complete schema, with inline docs.

Tell me what you think!
Nick

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-09-16 11:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-21 17:02 KCIDB: Support more checkout data Nikolai Kondrashov
2024-08-26 10:39 ` Nikolai Kondrashov
2024-09-16 11:43 ` Nikolai Kondrashov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox