Skip to content

Commit 33650c8

Browse files
committed
DO NOT COMMIT: tweak premerge to use custom image
For help in testing the prior commit
1 parent b67b29f commit 33650c8

File tree

1 file changed

+5
-167
lines changed

1 file changed

+5
-167
lines changed

.github/workflows/premerge.yaml

Lines changed: 5 additions & 167 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ jobs:
3434
if: >-
3535
github.repository_owner == 'llvm' &&
3636
(github.event_name != 'pull_request' || github.event.action != 'closed')
37-
runs-on: llvm-premerge-linux-runners
37+
runs-on: ubuntu-latest
38+
container:
39+
image: ghcr.io/gburgessiv/llvm-ci-with-checkout:latest
3840
steps:
3941
- name: Checkout LLVM
4042
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -52,169 +54,5 @@ jobs:
5254
# are ready for people to start recieving notifications.
5355
continue-on-error: true
5456
run: |
55-
git config --global --add safe.directory '*'
56-
57-
modified_files=$(git diff --name-only HEAD~1...HEAD)
58-
modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u)
59-
60-
echo $modified_files
61-
echo $modified_dirs
62-
63-
. ./.ci/compute-projects.sh
64-
65-
all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl"
66-
modified_projects="$(keep-modified-projects ${all_projects})"
67-
68-
linux_projects_to_test=$(exclude-linux $(compute-projects-to-test 0 ${modified_projects}))
69-
linux_check_targets=$(check-targets ${linux_projects_to_test} | sort | uniq)
70-
linux_projects=$(add-dependencies ${linux_projects_to_test} | sort | uniq)
71-
72-
linux_runtimes_to_test=$(compute-runtimes-to-test ${linux_projects_to_test})
73-
linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq)
74-
linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq)
75-
76-
if [[ "${linux_projects}" == "" ]]; then
77-
echo "No projects to build"
78-
exit 0
79-
fi
80-
81-
echo "Building projects: ${linux_projects}"
82-
echo "Running project checks targets: ${linux_check_targets}"
83-
echo "Building runtimes: ${linux_runtimes}"
84-
echo "Running runtimes checks targets: ${linux_runtime_check_targets}"
85-
86-
export CC=/opt/llvm/bin/clang
87-
export CXX=/opt/llvm/bin/clang++
88-
89-
./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})"
90-
91-
premerge-checks-windows:
92-
name: Windows Premerge Checks (Test Only - Please Ignore Results)
93-
if: >-
94-
github.repository_owner == 'llvm' &&
95-
(github.event_name != 'pull_request' || github.event.action != 'closed')
96-
runs-on: llvm-premerge-windows-runners
97-
defaults:
98-
run:
99-
shell: bash
100-
steps:
101-
- name: Checkout LLVM
102-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
103-
with:
104-
fetch-depth: 2
105-
- name: Setup ccache
106-
uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17
107-
with:
108-
variant: "sccache"
109-
max-size: "2000M"
110-
- name: Compute Projects
111-
id: vars
112-
run: |
113-
modified_files=$(git diff --name-only HEAD~1...HEAD)
114-
modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort | uniq)
115-
116-
echo $modified_files
117-
echo $modified_dirs
118-
119-
. ./.ci/compute-projects.sh
120-
121-
all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl"
122-
modified_projects="$(keep-modified-projects ${all_projects})"
123-
124-
windows_projects_to_test=$(exclude-windows $(compute-projects-to-test 1 ${modified_projects}))
125-
windows_check_targets=$(check-targets ${windows_projects_to_test} | sort | uniq | tr -d '\r' | tr '\n' ' ')
126-
windows_projects=$(add-dependencies ${windows_projects_to_test} | sort | uniq | tr -d '\r' | tr '\n' ';')
127-
128-
if [[ "${windows_projects}" == "" ]]; then
129-
echo "No projects to build"
130-
fi
131-
132-
echo "Building projects: ${windows_projects}"
133-
echo "Running project checks targets: ${windows_check_targets}"
134-
135-
echo "windows-projects=${windows_projects}" >> $GITHUB_OUTPUT
136-
echo "windows-check-targets=${windows_check_targets}" >> $GITHUB_OUTPUT
137-
- name: Build and Test
138-
# Mark the job as a success even if the step fails so that people do
139-
# not get notified while the new premerge pipeline is in an
140-
# experimental state.
141-
# TODO(boomanaiden154): Remove this once the pipeline is stable and we
142-
# are ready for people to start recieving notifications.
143-
continue-on-error: true
144-
if: ${{ steps.vars.outputs.windows-projects != '' }}
145-
shell: cmd
146-
run: |
147-
set MAX_PARALLEL_COMPILE_JOBS=64
148-
set MAX_PARALLEL_LINK_JOBS=64
149-
call C:\\BuildTools\\Common7\\Tools\\VsDevCmd.bat -arch=amd64 -host_arch=amd64
150-
bash .ci/monolithic-windows.sh "${{ steps.vars.outputs.windows-projects }}" "${{ steps.vars.outputs.windows-check-targets }}"
151-
152-
premerge-check-macos:
153-
name: MacOS Premerge Checks
154-
runs-on: macos-14
155-
if: >-
156-
github.repository_owner == 'llvm' &&
157-
(startswith(github.ref_name, 'release/') ||
158-
startswith(github.base_ref, 'release/')) &&
159-
(github.event_name != 'pull_request' || github.event.action != 'closed')
160-
steps:
161-
- name: Checkout LLVM
162-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
163-
with:
164-
fetch-depth: 2
165-
- name: Setup ccache
166-
uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17
167-
with:
168-
max-size: "2000M"
169-
- name: Install Ninja
170-
uses: llvm/actions/install-ninja@main
171-
- name: Build and Test
172-
run: |
173-
modified_files=$(git diff --name-only HEAD~1...HEAD)
174-
modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u)
175-
176-
echo $modified_files
177-
echo $modified_dirs
178-
179-
. ./.ci/compute-projects.sh
180-
181-
all_projects="clang clang-tools-extra lld lldb llvm mlir"
182-
modified_projects="$(keep-modified-projects ${all_projects})"
183-
184-
# We have to disable the runtimes builds due to https://github.com/llvm/llvm-project/issues/90568
185-
# and the lldb tests depend on libcxx, so we need to skip them.
186-
mac_check_targets=$(check-targets ${modified_projects} | sort | uniq | tr '\n' ' ' | sed -e 's/check-lldb //g')
187-
mac_projects=$(add-dependencies ${modified_projects} | sort | uniq | tr '\n' ' ')
188-
189-
mac_runtimes_to_test=$(compute-runtimes-to-test ${modified_projects})
190-
mac_runtime_check_targets=$(check-targets ${mac_runtimes_to_test} | sort | uniq | tr '\n' ' ')
191-
mac_runtimes=$(echo ${mac_runtimes_to_test} | tr ' ' '\n' | sort | uniq | tr '\n' ' ')
192-
193-
if [[ "${mac_projects}" == "" ]]; then
194-
echo "No projects to build"
195-
exit 0
196-
fi
197-
198-
echo "Projects to test: ${modified_projects}"
199-
echo "Runtimes to test: ${mac_runtimes_to_test}"
200-
echo "Building projects: ${mac_projects}"
201-
echo "Running project checks targets: ${mac_check_targets}"
202-
echo "Building runtimes: ${mac_runtimes}"
203-
echo "Running runtimes checks targets: ${mac_runtime_check_targets}"
204-
205-
# -DLLVM_DISABLE_ASSEMBLY_FILES=ON is for
206-
# https://github.com/llvm/llvm-project/issues/81967
207-
# Disable sharding in lit so that the LIT_XFAIL environment var works.
208-
cmake -G Ninja \
209-
-B build \
210-
-S llvm \
211-
-DLLVM_ENABLE_PROJECTS="$(echo ${mac_projects} | tr ' ' ';')" \
212-
-DLLVM_DISABLE_ASSEMBLY_FILES=ON \
213-
-DCMAKE_BUILD_TYPE=Release \
214-
-DLLDB_INCLUDE_TESTS=OFF \
215-
-DLLVM_ENABLE_ASSERTIONS=ON \
216-
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
217-
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
218-
219-
# The libcxx tests fail, so we are skipping the runtime targets.
220-
ninja -C build $mac_check_targets
57+
ls /home/gha
58+
exit 1

0 commit comments

Comments
 (0)