567 Commits

Author SHA1 Message Date
Aiden Grossman
1293ab35e4
[Github] Cancel previous in-progress code formatting jobs (#106701) 2024-08-30 14:43:15 -07:00
Aiden Grossman
54916e5784
[Github] Set code formatting job timeout to 30 minutes (#106674)
This patch sets the timeout of the code formatting job to 30 minutes.
The job is currently failing in specific circumstances and needs to be
reworked, but as a temp hack, change the timeout to 30 minutes so that
we can catch these jobs before they hit the Github Actions timeout limit
of six hours.

Somewhat (hackily) alleviates #79661 slightly.
2024-08-30 01:08:38 -07:00
Tom Stellard
9d81e7e36e
workflows/release-tasks: Pass required secrets to all called workflows (#106286)
Called workflows don't have access to secrets by default, so we need to
explicitly pass secrets that we use.
2024-08-28 22:18:08 -07:00
Tom Stellard
8927576b8f
workflows/release-binaries: Enable flang builds on Windows (#101344)
Flang for Windows depends on compiler-rt, so we need to enable it for
the stage1 builds. This also fixes failures building the flang tests on
macOS.

Fixes #100202.
2024-08-28 18:22:57 -07:00
Nikolas Klauser
ec9f36a624
[libc++] Switch to the current XCode beta on macOS builders (#106363)
This unblocks a ton of work including #76756 as it updates to a newer
version of AppleClang.
2024-08-28 09:02:52 -04:00
Keith Smiley
d2b420cc27
[Release] Add keith to valid archive uploaders (#106018)
I am interested in helping contribute macOS binaries since we're
generally sporadic with uploading these.

Fixes https://github.com/llvm/llvm-project/issues/106016
2024-08-27 21:29:43 -07:00
Louis Dionne
e19c3a7e8d
[libc++] Move some macOS CI jobs to Github actions (#89083)
This patch decouples macOS CI testing from BuildKite, which makes the
maintenance of macOS CI easier and more accessible to all contributors.
Right now, the macOS CI is running entirely on machines owned by the
LLVM Foundation with only a small set of contributors having direct
access to them. In particular, updating these machines is currently
a very time-consuming manual process that requires taking the machines
offline, and using Github-provided instances makes that an order of
magnitude easier.

The story for performing back-deployment testing still needs to be
figured out, so for now we are retaining some jobs under BuildKite.
2024-08-27 17:28:12 -04:00
Joseph Huber
7ad7f8f7a3
[libcxx] Add LIBCXX_HAS_TERMINAL_AVAILABLE CMake option to disable print terminal checks (#99259)
Adds a new CMake option called `LIBCXX_HAS_TERMINAL_AVAILABLE` that
prevents us from checking for `isatty`.
2024-08-21 08:48:53 -05:00
Tom Stellard
84efc8ed46
[workflows] Add a new workflow for checking commit access qualifications (#93301)
This workflow produces a list of users that should be moved to the LLVM
Triagers team. An admin will review the list and then manually move
people to the LLVM Triagers Team.

I've also added some documentation to the Developer Policy about the
Triage Role.

See
https://discourse.llvm.org/t/rfc2-new-criteria-for-commit-access/77110
for more details.
2024-08-15 17:08:24 -07:00
Tobias Stadler
9811971860
[GitHub] Run format job on stacked PRs (#102957)
Currently the formatter only runs for the main branch, which prevents
the formatter from running for stacked PRs, which have to target user
branches instead of main.
2024-08-14 14:10:57 +02:00
Aiden Grossman
167c71ad86
Bump CI container clang version to 18.1.8 (#102803)
This patch bumps the CI container LLVM version to 18.1.8. This should've
been bumped a while ago, but I just noticed that it was out of date.
This also allows us to drop a patch that we manually had to add as it is
by default included in v18.
2024-08-11 11:01:15 -07:00
Jannick Kremer
f070f61fc0
[CI][libclang] Add PR autolabeling for libclang (#102809)
This automatically adds the `clang:as-a-library` label on PRs for the C
and Python bindings and the libclang library

---------

Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
2024-08-11 12:22:47 +01:00
Jannick Kremer
458fa12202
[Github] Allow CI to run different Python version tests at once (#102455)
Previously, #77219 added a `python_version` parameter for the Github
Actions CI Ninja-based build tests. This is necessary to run component
tests on different Python versions, as is currently done by the only
user of this parameter, the [Libclang Python bindings
test](https://github.com/llvm/llvm-project/blob/main/.github/workflows/libclang-python-tests.yml).
The parameter is missing from the concurrency group of the
workflow, meaning that starting the workflow with two different Python
versions immediately cancels one of them, as pointed out by
https://github.com/llvm/llvm-project/pull/77219#issuecomment-1937105822.
This change fixes that problem by making the Python version part of the
concurrency group key, and removes the superfluous concurrency group
from the calling workflow.
2024-08-08 19:43:01 +02:00
Timm Bäder
342347088e Remove myself from Github's CODEOWNDERS file
This mechanism simply doesn't work for me. I'm getting CCed to
completely unrelated PRs all the time. I checke the bugtracker manually
often enough, so I don't need this.
2024-08-08 10:03:24 +02:00
Tom Stellard
82c2259aeb
workflows: Fix permissions for release-sources job (#100750)
For reusable workflows, the called workflow cannot upgrade it's
permissions, and since the default permission is none, we need to
explicitly declare 'contents: read' when calling the release-sources
workflow.

Fixes the error:
The workflow is requesting 'contents: read', but is only allowed
'contents: none'.
2024-08-07 14:19:22 -07:00
Tom Stellard
1fb1a5d8e2
workflows/release-binaries-all: Pass secrets on to release-binaries workflow (#101866)
A called workflow does not have access to secrets by default, so we need
to explicitly pass any secret that we want to use.
2024-08-05 14:40:46 -07:00
Tom Stellard
3c8dadda3a
workflows/release-binaries: Give attestation artifacts a unique name (#102041)
We need a different attestation for each supported architecture, so
there artifacts all need to have a different name.

The upload step is run on a Linux runner, so no matter which
architecture's binary is being uploaded the runner.os and runner.arch
variables would always be 'Linux' and 'X64' and so we can't use them for
naming the artifact.
2024-08-05 14:38:56 -07:00
Tom Stellard
dc349a3f47
workflows/release-tasks: Add missing permissions for release binaries (#102023)
Now that the release binaries create artifact attestations, we need to
ensure that we call the workflow with the correct permissions.
2024-08-05 13:30:04 -07:00
Tom Stellard
59476c9998
workflows/release-binaries: Fix problem with python installation on macos-14 (#101774)
python3 wasn't able to see modules installed by pip, so we need to use
the setup-python action to ensure that the default pip and python3 both
use the same prefix.

See https://github.com/actions/runner-images/issues/10385
2024-08-03 09:11:51 -07:00
Jannick Kremer
5f696c1bd9
[github] Add @DeinAlptraum as CODEOWNER for libclang/Python bindings (#101815) 2024-08-03 13:27:31 +02:00
Tom Stellard
14837aff05
workflows: Re-implement the get-llvm-version action as a composite action (#101569)
The old version in the llvm/actions repo stopped working after the
version variables were moved out of llvm/CMakeLists.txt. Composite
actions are more simple and don't require javascript, which is why I
reimplemented it as a composite action.

This will fix the failing abi checks on the release branch.
2024-08-02 21:52:03 -07:00
Tom Stellard
0512ba0a43
workflows: Fix libclc-tests (#101524)
The old out-of-tree build configuration stopped working and in tree
builds are supported now, so we should use the in tree configuration.
The only downside is we can't run the tests any more, but at least we
will be able to test the build again.
2024-08-01 11:23:03 -07:00
Tom Stellard
41003ff3fe
workflows/release-binaries: Fetch composite actions outside of default workspace (#100845)
Otherwise, the checkout step will override them.
2024-07-30 18:54:20 -07:00
Tom Stellard
d41f565318 workflow/release-binaries: Fix typo
Introduced in b0860b20878d2c84fc3ce56ea608c5186872faa2.
2024-07-26 14:51:54 -07:00
Tom Stellard
b0860b2087
workflows/release-binaries: Always pull composite actions from main branch (#100805)
If we pull from the release tag, then if there is a bug in one of the
actions on the release tag, then we can never do a build for that tag.
Pulling from main will allows us to fix bugs in the actions we use to
build the releases.
2024-07-26 14:46:32 -07:00
Tom Stellard
18dee70168 workflows: Remove left over debugging step from release-binaries job 2024-07-26 12:36:40 -07:00
Tom Stellard
247251aee0
Build release binaries for multiple targets (#98431)
This adds release binary builds for the 4 platforms currently supported
by the free GitHub Action runners:

* Linux x86_64
* Windows x86_64
* Mac x86_64
* Mac AArch64

The test stages for these are known to fail, but the creating and
upoading of the release binaries should pass.
2024-07-26 11:26:34 -07:00
Tom Stellard
60e5892e69 Workflows: Fix copy-paste mistake in release-asset-audit
The comment file in this workflow is plain-text not json.
2024-07-26 10:44:31 -07:00
Tom Stellard
9d2461e712
workflows: Add a job for auditing release assets (#92829)
This checks to ensure that uploads are only made by 'approved'
uploaders, which is just everyone who has uploaded a release asset in
the past.

We could do more, but this is just a simple implementation so we can put
something in place and see how it works.

For more discussion see:
https://discourse.llvm.org/t/rfc-improve-binary-security/78121
2024-07-26 09:45:42 -07:00
Tom Stellard
3c2ce70888
workflows: Fix tag name for release sources job (#100752) 2024-07-26 07:38:53 -07:00
Tobias Hieta
a0971f027c
[Infra] Fix version-check workflow (#100090) 2024-07-23 13:03:27 +02:00
Jakub Kuderski
ae96bde89f
[github][mlir] Add kuhar to code owners for vector IR (#99955)
This is so that I can track vector dialect changes and pay attention to
the maintenance required on the SPIR-V lowering side.
2024-07-22 17:32:03 -04:00
Tom Stellard
56ffbd97fd
[workflows] Avoid usage of access token in issue-write.yml (#94011)
This adds a new composite workflow that allows you to download artifacts
from other workflows without using an access token.

actions/download-artifact from GitHub requires an access token in order
to download artifacts from a different workflow, which is why we can't
use it here if we want to avoid using a token.

See
https://github.com/actions/download-artifact?tab=readme-ov-file#download-artifacts-from-other-workflow-runs-or-repositories
2024-07-19 14:47:35 -07:00
Andrzej Warzyński
26098fe4b8
[codeowners][nfc] Add myself and @dcaballe (#97853) 2024-07-16 16:45:32 +01:00
Alexey Karyakin
ca2d2a123c
Add patterns for Hexagon backend labels (#98068)
Add path filters for labelling of PRs related to the Hexagon backend.
2024-07-08 15:52:01 -05:00
Nikolas Klauser
655651a023
[libc++] Upgrade to GCC 14 (#97205) 2024-07-04 17:23:31 +02:00
Aiden Grossman
da3e60bbe7
[Github] Make issue write workflow only run after success/failure (#97341)
This patch makes the issue write workflow only run after success or
failure of the workflow invoking it, preventing it from running where
the original workflow was skipped.

Fixes #97294
2024-07-01 13:38:33 -07:00
Mogball
b468804005 [mlir] Add myself as codeowner of the index dialect 2024-06-28 08:29:42 -07:00
Tom Stellard
2879a03647
[workflows] Fix release note request workflow (#94784)
We need to use the issue-write workflow to write the comments, because
pull_request targets don't have permissions to write comments.
2024-06-27 15:54:22 -07:00
Diego Caballero
ef864516f7
[mlir] Remove * from generic Linalg/Vector rules in CODEOWNERS (#96581)
The PR removes the `*` from the generic MLIR Vector/Linalg rules. The
`*` symbol keeps the match local to the files in the directory,
excluding sub-directories, which was not the intention when I added
these rules.
2024-06-25 18:01:40 -07:00
Jonas Devlieghere
58cb0e651f
[.github] Add myself as a reviewer for DWARFLinker & friends (#96531) 2024-06-24 11:26:02 -07:00
Tom Stellard
da0e5359fc
workflows: Add a new job for packaging release sources (#91834)
This job uses the new artifact attestations:

https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/

This will allow users to verify that the sources came from a specific
workflow run in the llvm-project repository. Currently, this job does
not automatically upload sources to the release page, but rather it
attaches them the workflow run as artifacts. The release manager is
expected to download, verify, and sign the sources before uploading them
to the release page.

We may be able to automatically upload them in the future once we have a
process for signing the binaries within the github workflow.
Technically, though, the binaries are being signed as part of the
attestation process, but the only way to verify the signatures is using
the gh command line tool, and I don't think it is best to rely on that,
since the tool may not be easily available on all systems.
2024-06-18 08:27:33 -07:00
Owen Pan
5914a5671a
[GitHub][workflows] Use latest clang-format version 18.1.7 (#95757)
Since clang-format 18.1.4, there have been a number of commits that
fixed various kinds of issues:

- Bug
3ceccbdb1995

- Regression
6dbaa89433f7
51ff7f38b633
35fea1032741
7699b341b763
768118d1ad38
8c0fe0d65ed8

- Crash
f1491c7460e7

- Invalid code generation
0abb89a80f5c
2024-06-17 09:49:12 -07:00
Louis Dionne
c7b32341e9 [libc++] Rename workflow that restarts preempted jobs
All the libc++ workflows start with `libcxx-`, so use that prefix for
this job as well. Also, remove trailing whitespace from the yaml file.
2024-06-14 12:44:09 -04:00
Jannick Kremer
e38729968b
[CI] Update setup-python action to v5 for GHA (#95414)
We currently receive a warning on all Github Actions workflows that use
`setup-python`, since they all use v4 of the action, which uses the
deprecated Node.js 16. This PR upgrades the action in all places to v5,
which uses Node.js 20 (see [setup-python release
page](https://github.com/actions/setup-python/releases/tag/v5.0.0))
2024-06-13 10:16:59 -07:00
Jannick Kremer
8f795fc798
[libclang/python] Change minimum Python test version to 3.8 (#95210)
This fixes #95209
2024-06-13 18:48:31 +04:00
Martin Storsjö
bce2498767
[libcxx] [ci] Update Clang for Windows jobs to 18.1.x (#95228)
Pick the latest version available in Chocolatey (18.1.6) and llvm-mingw
(20240606, which includes LLVM 18.1.7).

Also add the flag "--allow-downgrade" when installing a specific version
of LLVM. If the preinstalled version is higher than the requested one,
Chocolatey would otherwise error out when requesting installing a lower
version. This will avoid errors in the future, if the runner image comes
preinstalled with a newer version of LLVM.

(This currently seems to happen with a recent version of the GitHub
Actions runner image, version 20240610.1.0 has LLVM 18.1.6 already
preinstalled, and will error out when trying to install the 17.0.6
version that we previously requested.)
2024-06-12 12:01:08 -04:00
Martin Storsjö
27ac46e6be
[libc++][ci] Don't install wget in the Windows jobs (#95215)
Nothing uses wget - only curl is used, and that's available out of the
box.
2024-06-12 11:25:37 -04:00
Tom Stellard
81671fe0e2
[workflows] Add post-commit job that periodically runs the clang static analyzer (#94106)
This job will run once per day on the main branch, and for every commit
on a release branch. It currently only builds llvm, but could add more
sub-projects in the future.

OpenSSF Best Practices recommends running a static analyzer on software
before it is released:
https://www.bestpractices.dev/en/criteria/0#0.static_analysis
2024-06-07 19:02:55 -07:00
Tom Stellard
0d1b3671a9
[CMake][Release] Use the TXZ cpack generator for binaries (#90138) 2024-06-07 02:27:59 -07:00