diff --git a/containers/agent-windows-vs2019/Dockerfile b/containers/agent-windows-vs2019/Dockerfile index 692826b..967ca75 100644 --- a/containers/agent-windows-vs2019/Dockerfile +++ b/containers/agent-windows-vs2019/Dockerfile @@ -32,11 +32,8 @@ RUN powershell -NoProfile -InputFormat None -Command ` # install tools as described in https://llvm.org/docs/GettingStartedVS.html # and a few more that were not documented... -RUN choco install -y ninja -RUN choco install -y git +RUN choco install -y ninja git python3 gnuwin activeperl RUN choco install -y cmake --version 3.15.4 -RUN choco install -y python3 -RUN choco install -y gnuwin RUN choco install -y sccache RUN pip install psutil diff --git a/scripts/buildkite/build_branch_pipeline.py b/scripts/buildkite/build_branch_pipeline.py index 7357ae7..a3bd48e 100755 --- a/scripts/buildkite/build_branch_pipeline.py +++ b/scripts/buildkite/build_branch_pipeline.py @@ -20,6 +20,7 @@ if __name__ == '__main__': script_branch = os.getenv("scripts_branch", "master") queue_prefix = os.getenv("ph_queue_prefix", "") diff_id = os.getenv("ph_buildable_diff", "") + steps = [] linux_buld_step = { 'label': ':linux: build and test linux', diff --git a/scripts/buildkite/build_master_pipeline.py b/scripts/buildkite/build_master_pipeline.py index a9fdda6..17d632a 100755 --- a/scripts/buildkite/build_master_pipeline.py +++ b/scripts/buildkite/build_master_pipeline.py @@ -19,34 +19,45 @@ import yaml if __name__ == '__main__': script_branch = os.getenv("scripts_branch", "master") queue_prefix = os.getenv("ph_queue_prefix", "") + no_cache = os.getenv('ph_no_cache', '') != '' + projects = 'clang;clang-tools-extra;libc;libcxx;libcxxabi;lld;libunwind;mlir;openmp;polly' steps = [] linux_buld_step = { 'label': ':linux: build and test linux', 'key': 'linux', 'commands': [ + 'ccache --clear' if no_cache else '', + 'ccache --zero-stats', 'mkdir -p artifacts', 'dpkg -l >> artifacts/packages.txt', 'export SRC=${BUILDKITE_BUILD_PATH}/llvm-premerge-checks', 'rm -rf ${SRC}', 'git clone --depth 1 --branch ${scripts_branch} https://github.com/google/llvm-premerge-checks.git ${SRC}', - '${SRC}/scripts/premerge_checks.py ' - '--projects="clang;clang-tools-extra;libc;libcxx;libcxxabi;lld;libunwind;mlir;flang;openmp;polly;compiler-rt"', + f'${{SRC}}/scripts/premerge_checks.py --projects="{projects}"', + 'EXIT_STATUS=\\$?', + 'echo "--- ccache stats"', + 'ccache --show-stats', + 'exit \\$EXIT_STATUS', ], 'artifact_paths': ['artifacts/**/*', '*_result.json'], 'agents': {'queue': f'{queue_prefix}linux'}, 'timeout_in_minutes': 120, } + clear_sccache = 'powershell -command "sccache --stop-server; ' \ + 'Remove-Item -Recurse -Force -ErrorAction Ignore $env:SCCACHE_DIR; ' \ + 'sccache --start-server"' windows_buld_step = { 'label': ':windows: build and test windows', 'key': 'windows', 'commands': [ + clear_sccache if no_cache else '', 'sccache --zero-stats', 'set SRC=%BUILDKITE_BUILD_PATH%/llvm-premerge-checks', 'rm -rf %SRC%', 'git clone --depth 1 --branch %scripts_branch% https://github.com/google/llvm-premerge-checks.git %SRC%', - 'powershell -command "%SRC%/scripts/premerge_checks.py ' - '--projects=\'clang;clang-tools-extra;libc;libcxx;libcxxabi;lld;libunwind;mlir;flang;openmp;polly;compiler-rt\'; ' + f'powershell -command "%SRC%/scripts/premerge_checks.py --projects=\'{projects}\'; ' '\\$exit=\\$?;' + 'echo \'--- sccache stats\';' 'sccache --show-stats;' 'if (\\$exit) {' ' echo success;' diff --git a/scripts/windows_agent_start_buildkite.ps1 b/scripts/windows_agent_start_buildkite.ps1 index 70361a8..542b6b8 100644 --- a/scripts/windows_agent_start_buildkite.ps1 +++ b/scripts/windows_agent_start_buildkite.ps1 @@ -27,7 +27,7 @@ $IMAGE="gcr.io/llvm-premerge-checks/${NAME}:${version}" Write-Output "Authenticating docker..." Write-Output "y`n" | gcloud auth configure-docker -Write-Output "Pulling new image..." +Write-Output "Pulling new image '${IMAGE}'..." docker pull ${IMAGE} Write-Output "Stopping old container..." docker stop ${NAME}