0
0
mirror of https://github.com/llvm/llvm-project.git synced 2025-04-21 22:56:50 +00:00

8 Commits

Author SHA1 Message Date
Matheus Izvekov
30747cfe41
[ci] add all projects as dependencies of ci ()
Add all projects as dependencies of .ci, to make sure everything is
tested when it changes.

Originally split-off from 
2025-04-18 17:42:29 -03:00
Aiden Grossman
1fd7e4c517 Revert "[CI] monolithic-linux improvements ()"
This reverts commit a399c6926a8701083c767cbb041e22ff92e9d717.

This is causing some premerge workflow failures.

Examople:
https://buildkite.com/llvm-project/github-pull-requests/builds/169129#01963d1d-dc75-4b4c-9952-fb60efbf91b4
2025-04-17 05:53:31 +00:00
Matheus Izvekov
a399c6926a
[CI] monolithic-linux improvements ()
Some improvements to monolithic-linux CI:

1) Add correct configuration and dependencies for LLDB testing which
   is actually relevant for clang changes.
2) Skip clang installation and separate configuration for runtimes.
   They will be built with the just built clang either way.
   This avoids building the runtimes twice when LLDB is also tested.
3) Make sure any generated clang reproducers end up as artifacts.
4) Set up llvm-symbolizer environment variable so that its preferred
over
any symbolizer just built, as it can be much slower when built for
debugging.
5) Add all projects as dependencies of `.ci`, to make sure everything is
   tested when it changes.
2025-04-15 13:00:49 -03:00
Aiden Grossman
ce296f1eba
[CI] Exclude gn changes from running premerge ()
These changes are mostly pushed by the gnsyncbot directly to main and
thus don't go through a PR, but we still test on main to see if main is
broken. Given these touch llvm/, they end up burning a decent amount of
testing time for no real benefit, so I think it makes sense to exclude
them from premerge testing explicitly.
2025-04-01 12:58:16 -07:00
Aiden Grossman
21eeca3db0
[CI] Exclude docs directories from triggering rebuilds
Currently when someone touches a docs directory in a subproject, it is
treated as if the source code of that project got touched, so the
project is built, it is tested, and the same for all of its enumerated
dependents. This is wasteful, particularly for patches just touching
docs in places like LLVM where we might spend an hour of node time to do
nothing useful given changes in the docs shouldn't cause test failures
and there is already another workflow that tests the documentation build
completes successfully.

Reviewers: Keenuts, tstellar, lnihlen

Reviewed By: tstellar

Pull Request: https://github.com/llvm/llvm-project/pull/133185
2025-03-28 22:30:41 -07:00
Aiden Grossman
2ca27e7c3e [CI] Fix typo in compute_projects_test.py
I apparently forgot to properly name the test before submitting the last
patch. This patch properly names the test.
2025-03-27 01:51:13 +00:00
Aiden Grossman
7da71a6b71 [CI] Exclude runtimes from being tested as projects
Before this patch, making a change to a runtime directory (like libcxx)
would cause the project to be added to the LLVM_ENABLE_PROJECTS CMake
flag which is illegal as they can only be built as part of
LLVM_ENABLE_RUNTIMES. This patch fixes that behavior. Test added.
2025-03-26 23:59:41 +00:00
Aiden Grossman
9224165871
[CI] Add Python Script for Computing Projects/Runtimes to Test
This patch adds a python script, compute_projects, and associated unit
tests for computing the projects and runtimes that need to be tested in
premerge. Rewriting in Python opens up a couple new
improvements/opportunities:
1. I personally find python to be much easier to work with than shell
   scripts for tasks like this. Particularly it becomes a lot easier to
   work with paths with proper array support.
2. Unit testing becomes easier which makes it a lot easier to reason
   about behavior changes, especially in review.
3. Most of the configuration is now setup in some dictionaries, which
   makes changes much easier to apply for most of the common changes.

This preserves the behavior of the existing premerge scripts as much as
possible.

Reviewers: ldionne, lnihlen, Endilll, tstellar, Keenuts

Reviewed By: Keenuts

Pull Request: https://github.com/llvm/llvm-project/pull/132634
2025-03-26 12:37:16 -07:00