[all-commits] [llvm/llvm-project] e74a00: [ci] New script to generate test reports as Buildk...

David Spickett via All-commits all-commits at lists.llvm.org
Tue Nov 12 05:35:08 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e74a002433b4cf7f891ceedb61bd862867218a8b
      https://github.com/llvm/llvm-project/commit/e74a002433b4cf7f891ceedb61bd862867218a8b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-11-12 (Tue, 12 Nov 2024)

  Changed paths:
    A .ci/generate_test_report.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    A .ci/requirements.txt

  Log Message:
  -----------
  [ci] New script to generate test reports as Buildkite Annotations (#113447)

The CI builds now send the results of every lit run to a unique file.
This means we can read them all to make a combined report for all
tests.

This report will be shown as an "annotation" in the build results:
https://buildkite.com/docs/agent/v3/cli-annotate#creating-an-annotation

Here is an example:
https://buildkite.com/llvm-project/github-pull-requests/builds/112660
(make sure it is showing "All" instead of "Failures")

This is an alternative to using the existing Buildkite plugin:
https://github.com/buildkite-plugins/junit-annotate-buildkite-plugin

As the plugin is:
* Specific to Buildkite, and we may move away from Buildkite.
* Requires docker, unless we were to fork it ourselves.
* Does not let you customise the report format unless again,
  we make our own fork.

Annotations use GitHub's flavour of Markdown so the main code in the
script generates that text. There is an extra "style" argument generated
to make the formatting nicer in Buildkite.

"context" is the name of the annotation that will be created. By using
different context names for Linux and Windows results we get 2 separate
annotations.

The script also handles calling the buildkite-agent. This makes passing
extra arguments to the agent easier, rather than piping the output of
this script into the agent.

In the future we can remove the agent part of it and simply use
the report content. Either printed to stdout or as a comment on
the GitHub PR.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list