Skip to content

Split GitHub Actions and TuxSuite by toolchain version #302

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

nathanchance
Copy link
Member

This series changes how our GitHub Actions and TuxSuite files are structured to make it easier to triage build failures and see the overall health of the trees we test and to avoid hitting GitHub Actions' job limit in our matrices.

The first two patches move the reading of generator.yml and writing of the GitHub Actions workflow and TuxSuite files into the Python scripts, rather than using stdin and stdout so that we can easily write to multiple files.

The third patch does the actual split by checking what LLVM versions the tree is being tested with and generating a file based on just those builds. generate.sh and check-patches.sh are adjusted to account for this.

Finally, the fourth and fifth patch does the regeneration and updates the README.

@nathanchance
Copy link
Member Author

Need to run yapf and fix the --patch-series handling.

@nathanchance nathanchance force-pushed the split-by-clang-version branch from 68c4cfb to 1c38e1f Compare February 15, 2022 22:55
@nathanchance
Copy link
Member Author

Thank you for the review! I have gone ahead and addressed all your comments via git commit --fixup, which I'll rebase and autosquash once you confirm you are happy with the changes.

Copy link
Member

@nickdesaulniers nickdesaulniers left a comment

Choose a reason for hiding this comment

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

lgtm nice work! 🌊 👋

@nathanchance nathanchance force-pushed the split-by-clang-version branch from 281fbff to cde0fca Compare February 16, 2022 22:13
We are going to be writing the workflows via write() eventually so we
might as well read from generator.yml as well to simplify running
generate_{tuxsuite,workflow}.py.

Signed-off-by: Nathan Chancellor <[email protected]>
…stdout

We are going to be splitting up the GitHub Actions and TuxSuite files
per tree + toolchain, rather than just tree. To make this easier, move
the writing of the generated files into the Python files, rather than
the shell script, to make this logic easier.

Signed-off-by: Nathan Chancellor <[email protected]>
Currently, the GitHub Actions and TuxSuite files are per tree, which
causes issues for a couple of reasons:

1. We are running out of jobs on the mainline and next matrices, as
   GitHub Actions only allows 256 jobs per one workflow matrix.

2. It makes triaging failures a little more difficult, as we have to
   navigate GitHub Actions' UI for over two hundred builds. For example,
   the recent arm64 assertion failure on clang-nightly caused all the
   trees to appear red, even though it was just a clang-nightly failure.

By splitting these files up by tree plus toolchain version, we can more
accurately see the health of all the trees and we won't hit the GitHub
Actions limit.

Signed-off-by: Nathan Chancellor <[email protected]>
@nathanchance nathanchance force-pushed the split-by-clang-version branch from cde0fca to 89bcbbb Compare February 16, 2022 22:16
@nathanchance nathanchance merged commit baccaa8 into ClangBuiltLinux:main Feb 16, 2022
@nathanchance nathanchance deleted the split-by-clang-version branch February 16, 2022 22:18
nathanchance added a commit to nathanchance/containers that referenced this pull request Feb 17, 2022
I added a yaml import to utils.py in ClangBuiltLinux/continuous-integration2#302.
utils.py is used within check_logs.py, which runs in this container so
we need this package there.

Link: https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/1855945810
Signed-off-by: Nathan Chancellor <[email protected]>
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