1
0
Fork 0
No description
Find a file
2024-04-29 16:06:57 +02:00
.github/ISSUE_TEMPLATE Update bug_report.md 2019-12-11 16:06:13 +01:00
actions-runner-controller submit local changes (there were already applied to cluster but not committed) 2024-02-08 08:48:10 +01:00
containers remove mentions of goncharov from messages 2024-04-29 16:06:57 +02:00
docs doc current setup 2023-09-11 11:49:14 +02:00
kubernetes submit local changes (there were already applied to cluster but not committed) 2024-02-08 08:48:10 +01:00
scripts cleanup 2024-02-08 08:47:14 +01:00
.editorconfig review fixes, formatted text 2020-08-27 15:30:03 +02:00
.gitignore move terraform specific .gitignore to the folder 2023-05-19 14:09:34 +02:00
gcloud_config.sh scale down linux agents as we run them on LLVM cluster 2023-05-26 18:09:45 +02:00
k8s_config remove bucket as we don't use it anymore 2020-10-15 13:19:36 +02:00
LICENSE added license 2019-10-04 14:31:57 +02:00
local_setup.sh add a new gcloud auth plugin recommended by doc 2022-06-20 14:17:26 +02:00
Pipfile Bump gitpython from 3.1.14 to 3.1.37 2023-10-11 10:51:07 +02:00
Pipfile.lock Bump urllib3 from 1.26.17 to 1.26.18 2023-10-18 09:29:41 +02:00
README.md remove mentions of goncharov from messages 2024-04-29 16:06:57 +02:00
setup_k8s.sh scripts: setup k8s from env + commit arg for bk 2023-07-17 13:20:05 +02:00

This repo is holding VM configurations for machine cluster and scripts to run pre-merge tests triggered by http://reviews.llvm.org.

As LLVM project has moved to Pull Requests and Phabricator will no longer trigger builds, this repository will likely be gone.

Pull request migration schedule.

Overview

Presentation by Louis Dione on LLVM devmtg 2021 https://youtu.be/B7gB6van7Bw

IMAGE ALT TEXT HERE

The pre-merge checks for the LLVM project are a continuous integration (CI) workflow. The workflow checks the patches the developers upload to the LLVM Phabricator instance.

Phabricator (https://reviews.llvm.org) is the code review tool in the LLVM project.

The workflow checks the patches before a user merges them to the main branch - thus the term pre-merge testing*. When a user uploads a patch to the LLVM Phabricator, Phabricator triggers the checks and then displays the results.

The CI system checks the patches before a user merges them to the main branch. This way bugs in a patch are contained during the code review stage and do not pollute the main branch. The more bugs the CI system can catch during the code review phase, the more stable and bug-free the main branch will become. citation needed

This repository contains the configurations and script to run pre-merge checks for the LLVM project.

Feedback

If you notice issues or have an idea on how to improve pre-merge checks, please create a new issue or give a ❤️ to an existing one.

Requirements

The builds are only triggered if the Revision in Phabricator is created/updated via arc diff. If you update a Revision via the Web UI it will not trigger a build.

To get a patch on Phabricator tested the build server must be able to apply the patch to the checked out git repository. If you want to get your patch tested, please make sure that either:

  • You set a git hash as sourceControlBaseRevision in Phabricator which is
  • available on the Github repository, or you define the dependencies of your
  • patch in Phabricator, or your patch can be applied to the main branch.

Only then can the build server apply the patch locally and run the builds and tests.

Contributing

We're happy to get help on improving the infrastructure and workflows!

Please check contibuting first.

Development gives an overview how different parts interact together.

Playbooks shows concrete examples how to, for example, build and run agents locally.

Additional Information

License

This project is licensed under the "Apache 2.0 with LLVM Exception" license. See LICENSE for details.