136 Commits

Author SHA1 Message Date
Aiden Grossman
688664fd19 [Github] Make code formatting action checkout SHA rather than ref
Checking out a ref of the branch requires the remote to be the same as
the fork whereas setting it to be the commit SHA allows for us to avoid
changing the remote. This should fix the action not working on PRs made
from forks (essentially all of them).
2023-11-11 20:33:03 -08:00
Aiden Grossman
1a66465c72
[Github] Fetch through merge base in code formatting action (#72020)
This commit adds another step to the Github workflow that runs the code
formatting check to fetch through the merge base. This ensures that the
necessary history is present to find the changed files and also to run
clang-format over. This change massively increases the speed of the
action (~10 minutes down to ~2 minutes in most cases from my testing)
and also increases the reliability significantly.
2023-11-11 19:48:03 -08:00
Aiden Grossman
83888a5404
[Github] Only run github actions on main monorepo (#69774)
There are currently a couple jobs that run on all forks of LLVM too (if
there is a PR opened, or in the case of the documentation builds, upon
pushing to main). This isn't desired behavior. This commit disables that
behavior, forcing the jobs to not run if they aren't running against
llvm/llvm-project or a PR against that repo.
2023-11-04 00:17:06 -07:00
Aiden Grossman
9189cd6452
[Github] Add flang docs to Github actions (#70530)
This patch enables building the flang docs in Github actions to enable
rapid iteration in PRs and to catch docs build failures more easily
before merge/after merge. This patch currently doesn't fail for Sphinx
warnings, but the intention is to enable this functionality once the
flang docs are fixed to build without warnings after the transition to
Myst.
2023-11-04 00:16:35 -07:00
Tom Stellard
64d5da60d4
workflows: Unsplit pr-subscriber (#69748)
This is essentially a revert of
1ed710836a77a5a29f3649da87f9f3e8ae3aa086. It is safe to use the
pull_request_target event for pr-subscriber, because it does not
checkout any code from the pull request branch.
2023-11-01 12:38:31 -07:00
Tom Stellard
67a53ae73b workflows/scorecard: Run this job once per day instead of for every push
We started going over our API limits and suspect this was the cause.
For now, we'll run it once a day while we sort this out.
2023-11-01 12:33:12 -07:00
Tom Stellard
e2c440b5da
workflows: Unsplit new-prs (#69560)
This is essentially a revert of
91fdb20915696ab955be0baea18b976717e370b9. It is safe to use the
pull_request_target event for new-prs, because it does not checkout any
code from the pull request branch.
2023-11-01 12:24:20 -07:00
Chris B
f2c24cceed
Increase git fetch depth (#70946)
We've gotten ~750 commits in the last 7 days. Upping the fetch depth to
2000 will make it more likely that PRs up to 2 weeks old will have
enough fetch history to find a common parent. This _might_ address some
of the failures we're seeing in the clang-format action where it cannot
find a common base commit.
2023-11-01 13:24:28 -05:00
Diogo Teles Sant'Anna
0d3377c496
Add Scorecard Action (#69933)
Closes #69736
2023-11-01 11:08:26 -07:00
Aiden Grossman
96410a6b14 Revert "[Github] Fetch all commits in PR for code formatting checks (#69766)"
This reverts commit 4aa12afb967bd7c5f051f3b72271f787f1a7538b.

This change introduced failures upon checking out the PR source code.
Pulling this out of tree while I investigate further.
2023-10-30 12:33:35 -07:00
Aiden Grossman
4aa12afb96
[Github] Fetch all commits in PR for code formatting checks (#69766)
This patch makes a couple changes to the PR code formatting check:
- Moves the `changed-files` action to before the checkout to make sure
that it pulls
information from the Github API rather than by running `git diff` to
alleviate some
performance problems.
- Checkout the head of the pull request head instead of the base of the
pull request
to ensure that we have the PR commits inside the checkout.
- Add an additional sparse checkout of the necessary LLVM tools to run
the action
to alleviate security problems introduced by checking out the head of
the pull
request. Only code from the base of the pull request runs.
- Adjust the commit references to be based on `HEAD` as Github doesn't
give
exact commit SHAs for the first commit in the PR.
2023-10-30 12:23:51 -07:00
Aiden Grossman
5cfa03ef25
[Github] Add Polly docs to Github actions (#70531)
This patch enables building the polly docs in CI to catch warnings/build
regressions in the documentation.
2023-10-29 12:49:34 -07:00
Aiden Grossman
66464eb966
[Github] Add OpenMP docs to Github docs action (#70529)
This patch enables building the openmp documentation through Github
actions during PRs and at tip of tree to ensure that the documentation
builds and that there aren't any Sphinx warnings in a manner that
enables more rapid developer iteration without having to install
documentation tooling.
2023-10-29 12:41:09 -07:00
Jinsong Ji
cf07904ee4
[Github] Fix libc docs build (#70363)
https://github.com/llvm/llvm-project/pull/69824 added libc build, but
missed the folder in ninja command, is causing failures.

ninja: fatal: chdir to 'docs-libc-html' - No such file or directory
ninja: Entering directory `docs-libc-html'
2023-10-26 14:26:47 -04:00
Aiden Grossman
68d993e913
[Github] Add lld to docs CI (#69821)
This patch adds the lld documentation to the documentation github
actions CI to automatically validate in PRs/at tip of tree that the docs
build and there aren't any Sphinx warnings. There is existing buildbot
coverage for the lld docs, but this much more convienient to use in
cases like PRs.
2023-10-25 21:55:38 -07:00
Aiden Grossman
888f07031b
[Github] Add support for building libc docs in Github actions (#69824)
This patch adds support for building the libc docs in Github actions.
This eanbles easily diagnosing doc build failures/warnings in PRs and at
the tip of tree.
2023-10-24 12:04:25 -07:00
Aiden Grossman
099ce25663 [Github] Fetch before files changed action on push in docs action
My previous commit 397f1ce9efb4eea1ee10fe4833f733b8c7abd878 switched up
the docs github action to use the GH API for pull requests. However,
this breaks the action when pushing to a branch as the Github API can't
provide diffs for commits. This patch fixes that by creating a local
checkout beforehand on push events for determining the changed files.
2023-10-23 22:09:02 -07:00
Aiden Grossman
397f1ce9ef
[Github] Use API to fetch PR diff for docs action (#70001)
People are currently running into issues where the files-changed step
isn't able to find the merge base. This seems to happen more often on
very out of date branches. This patch side steps the issue by just
fetching the diff from the GH API.
2023-10-23 21:34:06 -07:00
Aiden Grossman
6768a3d431
[Github] Add libcxx docs to CI (#69828)
This patch adds a step to the documentation Github action to build the
libc++ docs if they have changed. This enables easily diagnosing build
failures/warnings in PRs.
2023-10-23 20:27:08 -07:00
Aiden Grossman
d61e915460
[Github] Add libunwind to docs CI (#69830)
This patch adds the libunwind docs to the Github docs action which
enables easy triage of docs build failures in Github PRs. There is
already buildbot coverage of this configuration, but it is much less
convenient to use in PRs.
2023-10-23 20:24:46 -07:00
Aiden Grossman
6250afe37f [Github] Fetch an additional commit for docs CI on PRs
There still seem to be issues with the files changed step taking a
significant amount of time on PRs. This seems to be occurring on PRs
with one commit and not on PRs with more than one commit which is why I
didn't catch this nuance before. Either way, fetching an additional
commit seems to fix the issue. Requires a little bit of hackiness due to
the fact that you can't do math in the github actions variables.

Will be monitoring this over the next little bit to see if this actually
fixes the problem.

CI stuff is annoying sometimes.
2023-10-21 16:45:20 -07:00
Aiden Grossman
5ce45e9d8e
[Github] Add lldb docs step to Github docs action (#69832)
This patch adds a step to build the lldb docs when they change to the
Github docs action, enabling easy triage of warnings/docs build failures
during the PR process.
2023-10-21 15:42:29 -07:00
Aiden Grossman
40a5044af8
[Github] Add clang-tools-extra docs to CI (#69827)
This patch adds the clang-tools-extra docs to the Github CI job that
builds docs, enabling the ability to easily ensure the docs build
properly without warnings in PRs and at the tip of tree.
2023-10-21 15:32:51 -07:00
Aiden Grossman
764c7ae949 [Github] Remove CMake options from docs CI resetting defaults
The SPHINX_OUTPUT_HTML and SPHINX_OUTPUT_MAN CMake flags are by default
set to ON/True in ./llvm/cmake/modules/FindSphinx.cmake, so we don't
need to set them true again within the CMake invocation.
2023-10-21 02:11:15 -07:00
Aiden Grossman
9b381c6a06
[Github] Fetch number of commits in PR for docs action (#69763)
This patches changes the docs action to run a fetch with a depth of the
number of commits in the PR (1 if we're just running against a push
event) which significantly increases the speed of the changed files
event. The changed files event goes from taking ~30m to ~3s without any
noticeable increase in fetch time.
2023-10-20 18:48:40 -07:00
Diogo Teles Sant'Anna
7c0a589af9
[CI] Set minimal permission on libcxx-check-generated-file workflow (#69737)
Relates to #69736

Signed-off-by: Diogo Teles Sant'Anna <diogoteles@google.com>
2023-10-20 17:42:22 -07:00
Tom Stellard
afdad4fd40
workflows/release-tasks: Fix release note artifact upload (#69522) 2023-10-19 14:02:23 -07:00
Aiden Grossman
cd205efb9d Revert "[Github] Make PR formatting job only run with C/C++ changes (#69556)"
This reverts commit 80b2aac2c671771d74bc5d7426f7bd4ffa0b8a8e.

I mistakenly assumed this job didn't also do python formatting
(should've grepped for more than just black in the python portion of
this script). Pulling it out for now to get python formatting working
again while the patch is iterated further.
2023-10-18 23:28:20 -07:00
Aiden Grossman
cffb9df10c
[Github] Add steps to build clang docs to CI (#69550)
Recently, support for building the LLVM documentation within Github
actions landed, allowing for easy testing of the docs both pre and post
landing. This patch extends that functionality to clang and adds in
additional support to the docs Github workflow to only build the docs
for the subproject whose documentation has been touched.
2023-10-18 22:58:03 -07:00
Aiden Grossman
80b2aac2c6
[Github] Make PR formatting job only run with C/C++ changes (#69556)
Currently the PR formatting job only runs clang-format. There isn't a
lot of utility in running it if there aren't any C/C++ changes as there
will be nothing to format. This isn't super noisy currently as the job
doesn't fail if there aren't any C/C++ changes, but it's a bit of a
waste.

In addition, this patch names the code formatting job "Check C++
Formatting" to make it clear that this job only checks C/C++ formatting
rather than Python formatting/other languages.
2023-10-18 22:53:17 -07:00
Louis Dionne
1196e6dda9
[libc++] Move the check-generated-files job to Github Actions (#68920)
This allows running these quick checks faster than in our Buildkite
pipeline, which has much more latency. This will also avoid blocking the
rest of the testing pipeline in case the generated-files checks are
failing.
2023-10-18 19:56:16 -07:00
Tom Stellard
1db8abf21a
workflows/release-lit: Pass correct build directory to pypa/gh-action-pypi-publish (#69438) 2023-10-18 14:02:05 -07:00
Tom Stellard
6a7f0b9d9f
workflows/release-lit: Fix dev suffix removal (#69397)
This was broken by b71edfaa4ec3c998aadb35255ce2f60bba2940b0.
2023-10-18 14:01:53 -07:00
Aiden Grossman
8ddca6b2c1 [CI] Fix documentation build CI job
Currently this job fails when trying to install system dependencies as
the apt-get commands are not run with sudo, so they don't have the
appropriate permissions. This does not occur with act which is why it
wasn't caught in the first place. The change has been validated as
fixing the problem against my fork.
2023-10-16 22:48:37 -07:00
Aiden Grossman
12a731b5a4
[CI] Add Github actions job to build LLVM documentation (#69269)
This patch adds in support for building the LLVM documentation through a
Github actions job. This enables catching documentation build failures
earlier and also more easily as the job failure will show up directly on
pull requests. The job currently only builds the documentation for LLVM,
but the plan is to extend it to also build the documentation for other
subprojects when appropriate (i.e., the docs files have changed),
starting with clang.
2023-10-16 22:08:45 -07:00
Tom Stellard
95b2c6b3d6
workflows/release-binaries: Use more cores to avoid the 6 hour timeout (#67874) 2023-10-03 11:40:41 -07:00
Tobias Hieta
acb6e855a8
[workflow] Fix abi checker in llvm-tests. Same fix as in 99fb0af80d16b0ff886f032441392219e1cac452 (#67957)
Fixes #67651
2023-10-02 18:14:02 +02:00
Tobias Hieta
db777db25c
[Workflow] Update clang-format to 17.0.1 (#67402)
17.0.1 is our most recent stable version which we decided to follow and
it fixes the issue described in llvm/llvm-project#67343
2023-09-28 08:37:30 +02:00
Tom Stellard
7d6c3a2473
workflows/pr-receive: Ignore draft pull requests (#66578)
This prevent users from being subscribed automatically to draft pull
requests.
2023-09-26 15:58:04 -07:00
Tulio Magno Quites Machado Filho
b2247f85dc
workflows/release-tasks: Setup FileCheck and not for release-lit (#66799)
lit tests require commands FileCheck and not. They must be available in
the PATH.

This also guarantees that python3-psutil is installed in order to enable
more tests.

Fixes #64892.
2023-09-25 14:03:34 -03:00
cor3ntin
b7ff03206d
[Documentation] Replace recommonmark by myst-parser (#65664)
Recommonmark has been deprecated, then archived last year. This was
tracked by: https://github.com/llvm/llvm-iwg/issues/30

See https://github.com/readthedocs/recommonmark

This patch migrates all our doc to use myst

Additional details for bot maintainers: https://discourse.llvm.org/t/maintenance-required-on-sphinx-build-bots/73612
2023-09-25 14:02:39 +02:00
Tobias Hieta
a6e81df289
[Workflow] Roll back some settings since they caused more issues
This needs more investigation.
2023-09-23 17:53:51 +02:00
Tobias Hieta
cefc31c921
[Workflow] Use a higher max depth
This can fix not being able to fetch the right amounts of history for the code-format flow.
2023-09-23 15:44:16 +02:00
Tobias Hieta
e33703fce9
[Workflow] Try to fix code-formatter failing to find changes in some cases.
See comment here: https://github.com/tj-actions/changed-files#usage-
2023-09-23 15:30:21 +02:00
Tobias Hieta
bd0281669e
[workflow] Tweak code formatting workflow to be faster
This should limit how many commits we need to fetch and should be faster.
2023-09-22 17:18:23 +02:00
Tobias Hieta
a1177b0bdb
Reland: [Workflow] Add new code format helper.
I landed this format helper, but unfortunately, it didn't work because
of permissions, it could not add comments on a fork's PR. @cor3ntin
informed me there are fixes for this that you had worked on @tstellar -
but I didn't have time to read up on it too much. Can you explain what
changes are needed to get the action to be able to write comments on
fork's PR?
2023-09-22 10:26:09 +02:00
Tobias Hieta
fe5c185641
Revert "[Workflow] Add new code format helper. (#66684)"
This reverts commit da94bf0d561109529e4ab3dabfcbb8b6c258ea39.
2023-09-20 10:01:37 +02:00
Tobias Hieta
da94bf0d56
[Workflow] Add new code format helper. (#66684)
This helper will format python files with black/darker and
C/C++ files with clang-format.

The format helper is written so that we can expand it with new
formatters in the future like clang-tidy.
2023-09-20 08:52:29 +02:00
Danila Malyutin
01475dc29a
[github] Make branch workflow more robust (#66781)
Avoid false positives by requiring space after `/branch` command so the
action won't trigger on diffs that include filenames like
`.../BranchProbabilityInfo.cpp`.
2023-09-19 22:18:16 +03:00
Tom Stellard
5e4e2a5aae
workflows/pr-receive: Ignore pull requests with 10 or more commits (#66320)
This will cause the auto-labeler not to run on pull requests with more
than 10 commits. Usually larger pull requests like this are mistakes and
we want to avoid generating an excessive amount of notifications.

It may be possible for legitimate pull requests to have 10 or more
commits from people pushing fixup commits to addresss review comments.
However, these pull requests should already have the correct labels by
the time they grow to 10 commits.
2023-09-16 07:45:50 -07:00