1
0
Fork 0

Merge branch 'master' into playbook-test-branch-changes

This commit is contained in:
Mikhail Goncharov 2020-07-30 09:40:47 +02:00 committed by GitHub
commit 3f7d29b49d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 632 additions and 57 deletions

View file

@ -3,7 +3,7 @@
This repository contains the configuration files for the pre-merge checks for the LLVM project. This github project contains the documentation and the server configuration cluster of build machines that are used to check all incoming commits to the LLVM project. This repository contains the configuration files for the pre-merge checks for the LLVM project. This github project contains the documentation and the server configuration cluster of build machines that are used to check all incoming commits to the LLVM project.
# User documentation # User documentation
See [docs/user_doc.md](docs/user_doc.md) If you are interested in a high-level overview and how to best use the tool see [docs/user_doc.md](docs/user_doc.md)
# Cluster overview # Cluster overview
@ -31,7 +31,7 @@ On the Jenkins side:
There is no backup of the credentials. If you need to change it, generate a new one and update it in Jenkins and Phabricator. There is no backup of the credentials. If you need to change it, generate a new one and update it in Jenkins and Phabricator.
# Additional Information # Additional Information
* [Playbooks](docs/playbooks.md) for installing/upgrading * [Playbooks](docs/playbooks.md) for installing/upgrading agents and testing changes.
* [User documentation](docs/user_doc.md) * [User documentation](docs/user_doc.md)
* [Log of the service operations](https://github.com/google/llvm-premerge-checks/wiki/LLVM-pre-merge-tests-operations-blog) * [Log of the service operations](https://github.com/google/llvm-premerge-checks/wiki/LLVM-pre-merge-tests-operations-blog)

View file

@ -139,7 +139,7 @@ To spawn a new windows agent:
1. Add a task to start agent when machine restarts (make sure to pass correct parameters). 1. Add a task to start agent when machine restarts (make sure to pass correct parameters).
``` ```
git clone https://github.com/google/llvm-premerge-checks.git C:\llvm-premerge-checks git clone https://github.com/google/llvm-premerge-checks.git C:\llvm-premerge-checks
schtasks.exe /create /tn "Start Buildkite agent" /ru SYSTEM /SC ONSTART /DELAY 0005:00 /tr "powershell -command 'C:\llvm-premerge-checks\scripts\windows_agent_start_buildkite.ps1'" schtasks.exe /create /tn "Start Buildkite agent" /ru SYSTEM /SC ONSTART /DELAY 0005:00 /tr "powershell -command 'C:\llvm-premerge-checks\scripts\windows_agent_start_buildkite.ps1 -workdir c:\ws'"
``` ```
### Jenkins ### Jenkins
@ -227,5 +227,3 @@ You can *archive* a rule to disable it.
We have these build plans in Harbormaster: We have these build plans in Harbormaster:
* [Plan 4](https://reviews.llvm.org/harbormaster/plan/4/) Builds for everyone * [Plan 4](https://reviews.llvm.org/harbormaster/plan/4/) Builds for everyone
* [Plan 3](https://reviews.llvm.org/harbormaster/plan/3/) Builds for beta testers * [Plan 3](https://reviews.llvm.org/harbormaster/plan/3/) Builds for beta testers
You can *disable* a build plan to stop it from building.

View file

@ -28,8 +28,7 @@ NAME=$1
gcloud beta compute instances create "${NAME}" \ gcloud beta compute instances create "${NAME}" \
--project="${GCP_PROJECT}" \ --project="${GCP_PROJECT}" \
--zone="${GCP_ZONE}" \ --zone="${GCP_ZONE}" \
--machine-type=n1-standard-32 \ --machine-type=n2d-standard-16 \
--local-ssd=device-name=local-ssd-0 \
--image=windows-server-2019-dc-for-containers-v20200714 \ --image=windows-server-2019-dc-for-containers-v20200714 \
--image-project=windows-cloud \ --image-project=windows-cloud \
--boot-disk-size=100GB --boot-disk-size=200GB --boot-disk-type=pd-ssd

File diff suppressed because one or more lines are too long

View file

@ -23,7 +23,7 @@ if __name__ == '__main__':
no_cache = os.getenv('ph_no_cache') is not None no_cache = os.getenv('ph_no_cache') is not None
filter_output = '--filter-output' if os.getenv('ph_no_filter_output') is None else '' filter_output = '--filter-output' if os.getenv('ph_no_filter_output') is None else ''
projects = os.getenv('ph_projects', 'clang;clang-tools-extra;libc;libcxx;libcxxabi;lld;libunwind;mlir;openmp;polly') projects = os.getenv('ph_projects', 'clang;clang-tools-extra;libc;libcxx;libcxxabi;lld;libunwind;mlir;openmp;polly')
log_level = os.getenv('ph_log_level', 'WARNING') log_level = os.getenv('C', 'WARNING')
notify_emails = list(filter(None, os.getenv('ph_notify_emails', '').split(','))) notify_emails = list(filter(None, os.getenv('ph_notify_emails', '').split(',')))
steps = [] steps = []
linux_agents = {'queue': f'{queue_prefix}linux'} linux_agents = {'queue': f'{queue_prefix}linux'}

View file

@ -74,6 +74,7 @@ class ApplyPatch:
else: else:
logging.info('repository exist, will reuse') logging.info('repository exist, will reuse')
self.repo = Repo(path) # type: Repo self.repo = Repo(path) # type: Repo
# TODO: set origin url to fork
os.chdir(path) os.chdir(path)
logging.info(f'working dir {os.getcwd()}') logging.info(f'working dir {os.getcwd()}')
@ -109,7 +110,7 @@ class ApplyPatch:
self._create_branch(base_revision) self._create_branch(base_revision)
logging.info('git reset, git cleanup...') logging.info('git reset, git cleanup...')
self.repo.git.reset('--hard') self.repo.git.reset('--hard')
self.repo.git.clean('-fdx') self.repo.git.clean('-ffxdq')
logging.info('Analyzing {}'.format(diff_to_str(revision_id))) logging.info('Analyzing {}'.format(diff_to_str(revision_id)))
if len(dependencies) > 0: if len(dependencies) > 0:
logging.info('This diff depends on: {}'.format(diff_list_to_str(dependencies))) logging.info('This diff depends on: {}'.format(diff_list_to_str(dependencies)))
@ -144,10 +145,10 @@ class ApplyPatch:
return return
logging.info('Syncing local, origin and upstream...') logging.info('Syncing local, origin and upstream...')
self.repo.git.clean('-ffxdq')
self.repo.git.reset('--hard')
self.repo.git.fetch('--all') self.repo.git.fetch('--all')
self.repo.git.checkout('master') self.repo.git.checkout('master')
self.repo.git.reset('--hard')
self.repo.git.clean('-fdx')
if 'upstream' not in self.repo.remotes: if 'upstream' not in self.repo.remotes:
self.repo.create_remote('upstream', url=LLVM_GITHUB_URL) self.repo.create_remote('upstream', url=LLVM_GITHUB_URL)
self.repo.remotes.upstream.fetch() self.repo.remotes.upstream.fetch()