1
0
Fork 0
Commit graph

1055 commits

Author SHA1 Message Date
Martin Storsjö
18ff65644e Remove GnuWin, add Git Bash to the path
Both the main and the release/12.x branches of llvm-project should
work when built in a Windows Container with Git Bash in path now.
2021-04-23 14:48:24 +02:00
Mikhail Goncharov
58e13f22d1 inrease timeout for win, minor doc 2021-04-23 12:28:01 +02:00
Mikhail Goncharov
b9ae114deb add image name to agent tags 2021-03-22 11:01:02 +01:00
Mikhail Goncharov
ed35da102c add image digest to agent info 2021-03-22 09:59:23 +00:00
Mikhail Goncharov
f3367dc03e export command on win is 'set' 2021-03-19 15:36:08 +01:00
Mikhail Goncharov
609f614040 put back gnuwin 2021-03-19 14:35:02 +00:00
Mikhail Goncharov
feb44f59ad update build_run for win 2021-03-19 10:20:17 +00:00
Martin Storsjö
59993105bd windows: Stop installing GnuWin
These tools aren't actually needed; the same tools from Git
from Windows fill the same need.
2021-03-19 10:17:43 +01:00
Martin Storsjö
515acd1736 windows: Install a specific version of ActivePerl
The current default version in Chocolatey (5.28) fails to install,
with the following error:

    ERROR: The response content cannot be parsed because the Internet
    Explorer engine is not available, or Internet Explorer's first-launch
    configuration is not complete. Specify the UseBasicParsing parameter
    and try again.

This is fixed in a newer version of packaging of ActivePerl, thus request
this particular version.
2021-03-19 09:57:18 +01:00
Martin Storsjö
e7cc8d1de8 windows: Add Git Bash to the path
The libcxx tests currently require bash to be available (although
that might change), and the bash provided with Git is enough for
fulfilling this need. (Bash can also be useful for running other
scripts in the libcxx CI chain outside of the tests themselves.)

For the main LLVM testing, this works once
https://reviews.llvm.org/D98858 is merged.

This also allows getting rid of GnuWin altogether.
2021-03-19 09:56:58 +01:00
Martin Storsjö
b11b61d04f windows: Don't manually add c:\Program Files (x86)\GnuWin32\bin to the path
The GnuWin32 tools installed by Chocolatey reside in C:\GnuWin, and
are added automatically to the path.

The CMake tools aren't added automatically to the path though, so
that entry still is useful.

(However, the Visual Studio installation also brings along
a different version of CMake that ends up found if the one we
installed via Chocolatey isn't available.)
2021-03-19 09:56:58 +01:00
Martin Storsjö
dee182ad1c windows: Install LLVM/Clang in the docker image
The main LLVM build runs fine with MSVC itself, but building libcxx
isn't supported with cl.exe, only with clang-cl.

This shouldn't matter for the main LLVM build, as it still is
configured to use CXX=cl (and even then, CMake defaults to cl
if nothing is specified).
2021-03-19 09:56:44 +01:00
Mikhail Goncharov
f53c519843 updated docs on windows dev, new setting to skip generated steps 2021-03-19 09:22:21 +01:00
Mikhail Goncharov
67f8efa322 add manual instruction to clone instead 2021-03-12 15:53:15 +01:00
Mikhail Goncharov
637056379c update windows setup 2021-03-12 15:31:06 +01:00
Mikhail Goncharov
b28d130787 fix cloning of scripts directory 2021-03-12 13:48:49 +01:00
Mikhail Goncharov
65fa122f0e update windows setup 2021-03-12 12:10:43 +01:00
Yaxun (Sam) Liu
634cc2936e Exclude HIP headers from clang-tidy check 2021-03-10 10:14:04 +01:00
Vladislav Vinogradov
0f73b01874 Exclude MLIR bindings from clang-tidy checks
Those bindings requires extra dependencies (like Python, pybind11)
and clang-tidy fails to analyze the source files if they are not
configured properly.
2021-03-03 14:46:09 +01:00
Reid Kleckner
40e32358de Make clang-tidy ignore debuginfo-tests
The only C/C++ source in this directory is for test cases. Example CL:

https://reviews.llvm.org/D97668
2021-03-02 10:17:14 +01:00
ChristianKuehnel
859df4066f address security warning 2021-02-22 15:29:20 +01:00
Mikhail Goncharov
e83da03b17 add clang to flang deps
related to #271: clang-tidy cannot find gtest/gtest
2021-01-18 11:04:33 +01:00
Mikhail Goncharov
1d3a3049bb More accurate commands to reproduce build
Added command to create a link to a compilation database and switch
directory to run tidy and format.
2021-01-11 15:42:11 +01:00
Mikhail Goncharov
2e9a9563e1 enable periodic libcxx build 2020-12-15 09:24:49 +01:00
Mikhail Goncharov
268c4bb9b0 remove "pipeline_master"
it was renamed to "pipeline_main"
2020-12-10 11:03:22 +01:00
Mikhail Goncharov
99e43a8d9a rename master to main branch following LLVM 2020-12-10 09:29:24 +01:00
Mikhail Goncharov
12c4c43bb0 fix x86 debian step 2020-11-26 18:32:27 +01:00
Mikhail Goncharov
86226f3146 fix: builds were not marked as failed 2020-11-26 12:28:11 +01:00
Mikhail Goncharov
ad6c67d750 disable libcxx pipeline for periodical builds 2020-11-26 08:56:18 +01:00
Mikhail Goncharov
681fbbe2cf Process results and unit-test output of libcxx
Now "report" step combines result in a uniform way and processes unit test
results XML output. It works for sub-builds only started from the 'premerge'
pipeline, i.e. non-recursive. One downside is that now one has to wait until
all jobs have finished.

- Add instructions to setup python environment

- added option to do full report cycle but not call Phabricator

- use "annotations" to show build status. That lifts the need to filter ninja
  and other output (thus `ph_no_filter_output` param removed) and output
  everything. That is nice as script failures no longer lead to loss of logs.

- improved annotate() usability

- misc fixes
2020-11-25 15:29:50 +01:00
Mikhail Goncharov
515f086ba2 log git apply output in case of error 2020-11-04 09:34:32 +01:00
Mikhail Goncharov
90e7224ba9 improvements to patch process
- improve messaging and add instructions how to fix the patch

- fix application of patch stack. Now base commit and order of patches
  should be correct

- set origin to llvm-project fork to avoid accidental operations on origin

- use annotations to make issues visible

- create commits with original author of change

- add patches we tried to apply to artifacts

- patching / commits works locally if --push-branch=false is set

- misc renames / wordings
2020-11-03 16:15:36 +01:00
Mikhail Goncharov
1ce0e1ff35 remove bucket as we don't use it anymore 2020-10-15 13:19:36 +02:00
Mikhail Goncharov
43fae020f5 retry most of the requests with backoff
fixes #192

additionally:

- install python libs after scripts checkout, so we don't need to
rebuild images and restart agents only to add a new python dependency

- updated lib versions

- similar scripts checkout in steps
2020-10-12 17:08:34 +02:00
Mikhail Goncharov
322cfbda8c Add link to the build in "setup" step 2020-10-09 12:51:32 +02:00
Mikhail Goncharov
3df81c372f Do not run generic steps if project list is empty 2020-10-09 12:35:32 +02:00
Mikhail Goncharov
3925a2a844 get libcxx steps from sh output 2020-10-09 11:06:36 +02:00
Mikhail Goncharov
ab1b8d5ae2 Use buildkite API instead of passing stat via files
Previous approach had drawbacks:

- every step had to implement exporting of results in fixed format

- if step failed then failure will not be detected

Now report step will fetch results directly from Buildkite.
Agents have to be updated to have BUILDKITE_API_TOKEN env.
2020-10-08 14:40:57 +02:00
Mikhail Goncharov
563d6ba723 add backoff pip package 2020-10-08 13:48:44 +02:00
Mikhail Goncharov
2fec618227
Update README.md
Windows builds are enabled back, also issues with project exclusion is fixed
2020-10-08 10:11:04 +00:00
Mikhail Goncharov
1bbd71f712 Fix project exclusion rules
Previously list of projects was resolved when job run at target OS.
Now project resolution is moved to the premerge pipeline and logic
should be there.
2020-10-08 12:08:57 +02:00
Mikhail Goncharov
ea943424f3 Enable windows builds back
Now we run a pre-commit hook that tries to kill any process that locked
a file in target directory.

Updated timeout interval on windows from 120 to 90 minutes.

Fixes #243
2020-10-07 16:59:37 +02:00
Mikhail Goncharov
5cd16dde45 Don't fail if phabricator target is not specified
That is useful when testing pipelines
2020-10-05 13:33:19 +02:00
Mikhail Goncharov
c350101a23 Allow projects to define custom steps
Now it's possible to allow sub-projects to define own checks and skip
"generic" ones.

To properly accomodate affected projects that might not have special
treatment we:

1. extend the set of affected projecs with dependent (e.g. add 'libc' if
'clang' was modified)

2. add custom steps for projects that define own workflow. At the moment
it's only libcxx and it has a custom trigger pipeline so it's noop.

3. add dependent projects and run generic check on them.

To illustrate: imagine that we have a dependency graph:

llvm -> clang -> openmp

and only clang was modified in a diff; also clang defines own checks.
Thus list of affected projects will be [clang, openmp].
After adding custom checks and removing their projecst: [openmp].
After adding dependencies: [llvm, clang, openmp]. Generic linux /
windows checks will be run on thouse 3 projects.
So as you can see in some scenarios projects with custom checks will
still go through generic checks.

Note that clang-format and clang-tidy checks are run only for "generic"
checks at the moment.
2020-10-02 16:19:57 +02:00
Mikhail Goncharov
c082f1aa9b Organize scripts
Move all .py that are supposed to be run as __main__ under ./scripts
so there is no need to manipulate sys.path to import modules.

Runby cleanup
2020-10-02 14:18:22 +02:00
Mikhail Goncharov
9c383b2caf Fix refspec selection for the report step 2020-10-02 10:17:00 +02:00
Mikhail Goncharov
19974fd1cf Trigger libcxx pipeline if it's affected 2020-09-30 14:20:28 +02:00
Louis Dionne
fbdc3d9ecc Include the Phabricator review ID in commit messages
This allows jobs that trigger on these branches being created to
access this information.
2020-09-30 12:58:40 +02:00
Mikhail Goncharov
405643a089 Allow other refspecs to be used.
That gives us a way to test e.g. pull requests by specifying
ph_scripts_refspec="pull/123/head"

Also keep "ph_" prefix to remove confusion we had between
"scripts_branch" and "ph_scripts_branch" before.

Update docs and moved "testing" sections up.
2020-09-29 17:57:33 +02:00
Mikhail Goncharov
381b1bf1a6 Update nginx configuration to capture all traffic to the static IP
Right now we have only one service we need to serve.

I kept cert manager config for now in the case we want to get a hostname
in the near future.

Updated doc + minor doc / setup fixes.

fixes #242
2020-09-29 11:44:12 +02:00