|
16 | 16 | if: github.repository_owner == 'llvm'
|
17 | 17 | runs-on: llvm-premerge-linux-runners
|
18 | 18 | concurrency:
|
19 |
| - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} |
| 19 | + group: ${{ github.workflow }}-linux-${{ github.event.pull_request.number || github.sha }} |
20 | 20 | cancel-in-progress: true
|
21 | 21 | steps:
|
22 | 22 | - name: Checkout LLVM
|
|
70 | 70 | export CXX=/opt/llvm/bin/clang++
|
71 | 71 |
|
72 | 72 | ./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})"
|
| 73 | +
|
| 74 | + premerge-checks-windows: |
| 75 | + if: github.repository_owner == 'llvm' |
| 76 | + runs-on: llvm-premerge-windows-runners |
| 77 | + concurrency: |
| 78 | + group: ${{ github.workflow }}-windows-${{ github.event.pull_request.number || github.sha }} |
| 79 | + cancel-in-progress: true |
| 80 | + defaults: |
| 81 | + run: |
| 82 | + shell: bash |
| 83 | + steps: |
| 84 | + - name: Checkout LLVM |
| 85 | + uses: actions/checkout@v4 |
| 86 | + with: |
| 87 | + fetch-depth: 2 |
| 88 | + - name: Setup ccache |
| 89 | + uses: hendrikmuhs/[email protected] |
| 90 | + with: |
| 91 | + variant: "sccache" |
| 92 | + max-size: "2000M" |
| 93 | + - name: Compute Projects |
| 94 | + id: vars |
| 95 | + run: | |
| 96 | + modified_files=$(git diff --name-only HEAD~1...HEAD) |
| 97 | + modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort | uniq) |
| 98 | +
|
| 99 | + echo $modified_files |
| 100 | + echo $modified_dirs |
| 101 | +
|
| 102 | + . ./.ci/compute-projects.sh |
| 103 | +
|
| 104 | + all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" |
| 105 | + modified_projects="$(keep-modified-projects ${all_projects})" |
| 106 | +
|
| 107 | + windows_projects_to_test=$(exclude-windows $(compute-projects-to-test 1 ${modified_projects})) |
| 108 | + windows_check_targets=$(check-targets ${windows_projects_to_test} | sort | uniq | tr -d '\r' | tr '\n' ' ') |
| 109 | + windows_projects=$(add-dependencies ${windows_projects_to_test} | sort | uniq | tr -d '\r' | tr '\n' ';') |
| 110 | +
|
| 111 | + if [[ "${windows_projects}" == "" ]]; then |
| 112 | + echo "No projects to build" |
| 113 | + fi |
| 114 | +
|
| 115 | + echo "Building projects: ${windows_projects}" |
| 116 | + echo "Running project checks targets: ${windows_check_targets}" |
| 117 | +
|
| 118 | + echo "windows-projects=${windows_projects}" >> $GITHUB_OUTPUT |
| 119 | + echo "windows-check-targets=${windows_check_targets}" >> $GITHUB_OUTPUT |
| 120 | + - name: Build and Test |
| 121 | + # Mark the job as a success even if the step fails so that people do |
| 122 | + # not get notified while the new premerge pipeline is in an |
| 123 | + # experimental state. |
| 124 | + # TODO(boomanaiden154): Remove this once the pipeline is stable and we |
| 125 | + # are ready for people to start recieving notifications. |
| 126 | + continue-on-error: true |
| 127 | + if: ${{ steps.vars.outputs.windows-projects != '' }} |
| 128 | + shell: cmd |
| 129 | + run: | |
| 130 | + set MAX_PARALLEL_COMPILE_JOBS=64 |
| 131 | + set MAX_PARALLEL_LINK_JOBS=64 |
| 132 | + call C:\\BuildTools\\Common7\\Tools\\VsDevCmd.bat -arch=amd64 -host_arch=amd64 |
| 133 | + bash .ci/monolithic-windows.sh "${{ steps.vars.outputs.windows-projects }}" "${{ steps.vars.outputs.windows-check-targets }}" |
| 134 | +
|
0 commit comments