From 6ffa419968dd2c10c11f66c380fba2f77a18767a Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 09:38:33 +0000 Subject: [PATCH 01/51] [CI] Refactor common functionality into separate script This patch refactors some common functionality present in the CI scripts to a separate shell script. This is mainly intended to make it easier to reuse this functionality inside of a Github Actions pipeline as we make the switch. --- .ci/compute-projects.sh | 165 +++++++++++++++++++++ .ci/generate-buildkite-pipeline-premerge | 179 +---------------------- 2 files changed, 166 insertions(+), 178 deletions(-) create mode 100644 .ci/compute-projects.sh diff --git a/.ci/compute-projects.sh b/.ci/compute-projects.sh new file mode 100644 index 0000000000000..b33158339ef3f --- /dev/null +++ b/.ci/compute-projects.sh @@ -0,0 +1,165 @@ +#!/usr/bin/env bash +#===----------------------------------------------------------------------===## +# +# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +# See https://llvm.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# +#===----------------------------------------------------------------------===## + +# +# This file contains functions to compute which projects should be built by CI +# systems and is intended to provide common functionality applicable across +# multiple systems during a transition period. +# + +function compute-projects-to-test() { + isForWindows=$1 + shift + projects=${@} + for project in ${projects}; do + echo "${project}" + case ${project} in + lld) + for p in bolt cross-project-tests; do + echo $p + done + ;; + llvm) + for p in bolt clang clang-tools-extra lld lldb mlir polly; do + echo $p + done + # Flang is not stable in Windows CI at the moment + if [[ $isForWindows == 0 ]]; then + echo flang + fi + ;; + clang) + # lldb is temporarily removed to alleviate Linux pre-commit CI waiting times + for p in clang-tools-extra compiler-rt cross-project-tests; do + echo $p + done + ;; + clang-tools-extra) + echo libc + ;; + mlir) + # Flang is not stable in Windows CI at the moment + if [[ $isForWindows == 0 ]]; then + echo flang + fi + ;; + *) + # Nothing to do + ;; + esac + done +} + +function compute-runtimes-to-test() { + projects=${@} + for project in ${projects}; do + case ${project} in + clang) + for p in libcxx libcxxabi libunwind; do + echo $p + done + ;; + *) + # Nothing to do + ;; + esac + done +} + +function add-dependencies() { + projects=${@} + for project in ${projects}; do + echo "${project}" + case ${project} in + bolt) + for p in clang lld llvm; do + echo $p + done + ;; + cross-project-tests) + for p in lld clang; do + echo $p + done + ;; + clang-tools-extra) + for p in llvm clang; do + echo $p + done + ;; + compiler-rt|libc|openmp) + echo clang lld + ;; + flang|lldb|libclc) + for p in llvm clang; do + echo $p + done + ;; + lld|mlir|polly) + echo llvm + ;; + *) + # Nothing to do + ;; + esac + done +} + +# Prints only projects that are both present in $modified_dirs and the passed +# list. +function keep-modified-projects() { + projects=${@} + modified_dirs=${1} + for project in ${projects}; do + if echo "$modified_dirs" | grep -q -E "^${project}$"; then + echo "${project}" + fi + done +} + +function check-targets() { + # Do not use "check-all" here because if there is "check-all" plus a + # project specific target like "check-clang", that project's tests + # will be run twice. + projects=${@} + for project in ${projects}; do + case ${project} in + clang-tools-extra) + echo "check-clang-tools" + ;; + compiler-rt) + echo "check-compiler-rt" + ;; + cross-project-tests) + echo "check-cross-project" + ;; + libcxx) + echo "check-cxx" + ;; + libcxxabi) + echo "check-cxxabi" + ;; + libunwind) + echo "check-unwind" + ;; + lldb) + echo "check-lldb" + ;; + pstl) + # Currently we do not run pstl tests in CI. + ;; + libclc) + # Currently there is no testing for libclc. + ;; + *) + echo "check-${project}" + ;; + esac + done +} + diff --git a/.ci/generate-buildkite-pipeline-premerge b/.ci/generate-buildkite-pipeline-premerge index 190dd1e5ba5af..ddcaca813be3c 100755 --- a/.ci/generate-buildkite-pipeline-premerge +++ b/.ci/generate-buildkite-pipeline-premerge @@ -52,184 +52,7 @@ modified_dirs=$(echo "$MODIFIED_FILES" | cut -d'/' -f1 | sort -u) echo "Directories modified:" >&2 echo "$modified_dirs" >&2 -function compute-projects-to-test() { - isForWindows=$1 - shift - projects=${@} - for project in ${projects}; do - echo "${project}" - case ${project} in - lld) - for p in bolt cross-project-tests; do - echo $p - done - ;; - llvm) - for p in bolt clang clang-tools-extra lld lldb mlir polly; do - echo $p - done - # Flang is not stable in Windows CI at the moment - if [[ $isForWindows == 0 ]]; then - echo flang - fi - ;; - clang) - # lldb is temporarily removed to alleviate Linux pre-commit CI waiting times - for p in clang-tools-extra compiler-rt cross-project-tests; do - echo $p - done - ;; - clang-tools-extra) - echo libc - ;; - mlir) - # Flang is not stable in Windows CI at the moment - if [[ $isForWindows == 0 ]]; then - echo flang - fi - ;; - *) - # Nothing to do - ;; - esac - done -} - -function compute-runtimes-to-test() { - projects=${@} - for project in ${projects}; do - case ${project} in - clang) - for p in libcxx libcxxabi libunwind; do - echo $p - done - ;; - *) - # Nothing to do - ;; - esac - done -} - -function add-dependencies() { - projects=${@} - for project in ${projects}; do - echo "${project}" - case ${project} in - bolt) - for p in clang lld llvm; do - echo $p - done - ;; - cross-project-tests) - for p in lld clang; do - echo $p - done - ;; - clang-tools-extra) - for p in llvm clang; do - echo $p - done - ;; - compiler-rt|libc|openmp) - echo clang lld - ;; - flang|lldb|libclc) - for p in llvm clang; do - echo $p - done - ;; - lld|mlir|polly) - echo llvm - ;; - *) - # Nothing to do - ;; - esac - done -} - -function exclude-linux() { - projects=${@} - for project in ${projects}; do - case ${project} in - cross-project-tests) ;; # tests failing - openmp) ;; # https://github.com/google/llvm-premerge-checks/issues/410 - *) - echo "${project}" - ;; - esac - done -} - -function exclude-windows() { - projects=${@} - for project in ${projects}; do - case ${project} in - cross-project-tests) ;; # tests failing - compiler-rt) ;; # tests taking too long - openmp) ;; # TODO: having trouble with the Perl installation - libc) ;; # no Windows support - lldb) ;; # custom environment requirements (https://github.com/llvm/llvm-project/pull/94208#issuecomment-2146256857) - bolt) ;; # tests are not supported yet - *) - echo "${project}" - ;; - esac - done -} - -# Prints only projects that are both present in $modified_dirs and the passed -# list. -function keep-modified-projects() { - projects=${@} - for project in ${projects}; do - if echo "$modified_dirs" | grep -q -E "^${project}$"; then - echo "${project}" - fi - done -} - -function check-targets() { - # Do not use "check-all" here because if there is "check-all" plus a - # project specific target like "check-clang", that project's tests - # will be run twice. - projects=${@} - for project in ${projects}; do - case ${project} in - clang-tools-extra) - echo "check-clang-tools" - ;; - compiler-rt) - echo "check-compiler-rt" - ;; - cross-project-tests) - echo "check-cross-project" - ;; - libcxx) - echo "check-cxx" - ;; - libcxxabi) - echo "check-cxxabi" - ;; - libunwind) - echo "check-unwind" - ;; - lldb) - echo "check-lldb" - ;; - pstl) - # Currently we do not run pstl tests in CI. - ;; - libclc) - # Currently there is no testing for libclc. - ;; - *) - echo "check-${project}" - ;; - esac - done -} +. compute-projects.sh # Project specific pipelines. From d858ae3560e4385a653cf22972ac4c8557b0313e Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 09:42:31 +0000 Subject: [PATCH 02/51] Maybe fix paths --- .ci/generate-buildkite-pipeline-premerge | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/generate-buildkite-pipeline-premerge b/.ci/generate-buildkite-pipeline-premerge index ddcaca813be3c..31186bef9c893 100755 --- a/.ci/generate-buildkite-pipeline-premerge +++ b/.ci/generate-buildkite-pipeline-premerge @@ -52,7 +52,7 @@ modified_dirs=$(echo "$MODIFIED_FILES" | cut -d'/' -f1 | sort -u) echo "Directories modified:" >&2 echo "$modified_dirs" >&2 -. compute-projects.sh +. ./ci/compute-projects.sh # Project specific pipelines. From a8eae851d0ce8621cc10cfa0b9df87b2d35aaa48 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 09:43:24 +0000 Subject: [PATCH 03/51] Fix spelling --- .ci/generate-buildkite-pipeline-premerge | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/generate-buildkite-pipeline-premerge b/.ci/generate-buildkite-pipeline-premerge index 31186bef9c893..9d9ca32183944 100755 --- a/.ci/generate-buildkite-pipeline-premerge +++ b/.ci/generate-buildkite-pipeline-premerge @@ -52,7 +52,7 @@ modified_dirs=$(echo "$MODIFIED_FILES" | cut -d'/' -f1 | sort -u) echo "Directories modified:" >&2 echo "$modified_dirs" >&2 -. ./ci/compute-projects.sh +. ./.ci/compute-projects.sh # Project specific pipelines. From 1c020bba94fe2e70820a9d2e1221dd73b9676332 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 09:44:40 +0000 Subject: [PATCH 04/51] Add missing functions --- .ci/compute-projects.sh | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/.ci/compute-projects.sh b/.ci/compute-projects.sh index b33158339ef3f..32baf26b4f0a0 100644 --- a/.ci/compute-projects.sh +++ b/.ci/compute-projects.sh @@ -110,11 +110,40 @@ function add-dependencies() { done } +function exclude-linux() { + projects=${@} + for project in ${projects}; do + case ${project} in + cross-project-tests) ;; # tests failing + openmp) ;; # https://github.com/google/llvm-premerge-checks/issues/410 + *) + echo "${project}" + ;; + esac + done +} + +function exclude-windows() { + projects=${@} + for project in ${projects}; do + case ${project} in + cross-project-tests) ;; # tests failing + compiler-rt) ;; # tests taking too long + openmp) ;; # TODO: having trouble with the Perl installation + libc) ;; # no Windows support + lldb) ;; # custom environment requirements (https://github.com/llvm/llvm-project/pull/94208#issuecomment-2146256857) + bolt) ;; # tests are not supported yet + *) + echo "${project}" + ;; + esac + done +} + # Prints only projects that are both present in $modified_dirs and the passed # list. function keep-modified-projects() { projects=${@} - modified_dirs=${1} for project in ${projects}; do if echo "$modified_dirs" | grep -q -E "^${project}$"; then echo "${project}" From 19f4098c0934f242ed5b332533dfe03c44e82de8 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 23:31:07 +0000 Subject: [PATCH 05/51] [CI][Github] Add linux premerge workflow This patch adds a Github Actions workflow for Linux premerge. This currently just calls into the existing CI scripts as a starting point. --- .github/workflows/premerge.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/premerge.yaml diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml new file mode 100644 index 0000000000000..33a5b57ab3548 --- /dev/null +++ b/.github/workflows/premerge.yaml @@ -0,0 +1,20 @@ +name: LLVM Premerge Checks + +permissions: + contents: read + +on: + pull_request: + paths: + - .github/workflows/premerge.yaml + +jobs: + premerge-checks-linux: + if: github.repository_owner == 'llvm' + runs-on: ubuntu-latest + steps: + - name: Checkout LLVM + uses: actions/checkout@v4 + - name: Build and Test + run: | + echo test From 9c8661960efcbfee9164dcc74bca22c5e30adbc9 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 23:44:30 +0000 Subject: [PATCH 06/51] Modification stuff --- .github/workflows/premerge.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 33a5b57ab3548..e471f0d3aa256 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -17,4 +17,8 @@ jobs: uses: actions/checkout@v4 - name: Build and Test run: | - echo test + ${MODIFIED_FILES:=$(git diff --name-only HEAD~1...HEAD)} + echo $MODIFIED_FILES + modified_dirs=$(echo "$MODIFIED_FILES" | cut -d'/' -f1 | sort -u) + echo "$modified_dirs" >&2 + From 60c621205f3994c7a0b4e34d087bb11f6dbda7f4 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 23:51:04 +0000 Subject: [PATCH 07/51] Adjust depth --- .github/workflows/premerge.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index e471f0d3aa256..632c5ca38a178 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -15,6 +15,8 @@ jobs: steps: - name: Checkout LLVM uses: actions/checkout@v4 + with: + fetch-depth: 2 - name: Build and Test run: | ${MODIFIED_FILES:=$(git diff --name-only HEAD~1...HEAD)} From 49b3859a055e7aa788c74e09a438001602fc00c1 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 23:53:31 +0000 Subject: [PATCH 08/51] maybe --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 632c5ca38a178..1964085cbf0cf 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -22,5 +22,5 @@ jobs: ${MODIFIED_FILES:=$(git diff --name-only HEAD~1...HEAD)} echo $MODIFIED_FILES modified_dirs=$(echo "$MODIFIED_FILES" | cut -d'/' -f1 | sort -u) - echo "$modified_dirs" >&2 + echo "$modified_dirs" From 41efe71d08fe063f1ee96731ea32f313e6422a1d Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 23:54:41 +0000 Subject: [PATCH 09/51] fix thing --- .github/workflows/premerge.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 1964085cbf0cf..1709457449928 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -19,8 +19,8 @@ jobs: fetch-depth: 2 - name: Build and Test run: | - ${MODIFIED_FILES:=$(git diff --name-only HEAD~1...HEAD)} - echo $MODIFIED_FILES - modified_dirs=$(echo "$MODIFIED_FILES" | cut -d'/' -f1 | sort -u) + modified_files=$(git diff --name-only HEAD~1...HEAD) + echo $modified_files + modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) echo "$modified_dirs" From cb5cf35c20e40ba461fb0f6f75f0409ce14ec7ad Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 11 Dec 2024 23:59:54 +0000 Subject: [PATCH 10/51] incremental testing --- .github/workflows/premerge.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 1709457449928..94b0f97ba4950 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,3 +24,16 @@ jobs: modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) echo "$modified_dirs" + . ./.ci/compute-projects.sh + + all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" + modified_projects="$(keep-modified-projects ${all_projects})" + + linux_projects_to_test=$(exclude-linux $(compute-projects-to-test 0 ${modified_projects})) + linux_check_targets=$(check-targets ${linux_projects_to_test} | sort | uniq) + linux_projects=$(add-dependencies ${linux_projects_to_test} | sort | uniq) + + linux_runtimes_to_test=$(compute-runtimes-to-test ${linux_projects_to_test}) + linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq) + linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq) + From 43ca65316a18d34a4557281467d2f3baa94d9ecb Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 00:04:04 +0000 Subject: [PATCH 11/51] Add pipeline --- .github/workflows/premerge.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 94b0f97ba4950..a32847c94a609 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -20,9 +20,7 @@ jobs: - name: Build and Test run: | modified_files=$(git diff --name-only HEAD~1...HEAD) - echo $modified_files modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) - echo "$modified_dirs" . ./.ci/compute-projects.sh @@ -37,3 +35,9 @@ jobs: linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq) linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq) + echo "Building projects: ${linux_projects}" + echo "Running project checks targets: ${linux_check_targets}" + echo "Building runtimes: ${linux_runtimes}" + echo "Running runtimes checks targets: ${linux_runtime_check_targets}" + + ./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" From 67b537d6fe00877ffd318e5fe26094d39211be78 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 00:09:06 +0000 Subject: [PATCH 12/51] Switch container --- .github/workflows/premerge.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index a32847c94a609..e9a4f47428206 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -12,6 +12,8 @@ jobs: premerge-checks-linux: if: github.repository_owner == 'llvm' runs-on: ubuntu-latest + container: + image: ghcr.io/llvm/ci-ubuntu-22.04:latest steps: - name: Checkout LLVM uses: actions/checkout@v4 From 5f4e4517ced8a40ca78368b1eab14a18cc904d00 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 00:23:04 +0000 Subject: [PATCH 13/51] debugging --- .github/workflows/premerge.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index e9a4f47428206..ece3483f2284f 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -21,6 +21,9 @@ jobs: fetch-depth: 2 - name: Build and Test run: | + ls + pwd + modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) From cd8094f61d8e9836ee5edfc72d963aef29f5f110 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 00:25:26 +0000 Subject: [PATCH 14/51] debugging2 --- .github/workflows/premerge.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index ece3483f2284f..bb7e9674f2a25 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -21,8 +21,7 @@ jobs: fetch-depth: 2 - name: Build and Test run: | - ls - pwd + ls -a modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) From 58860c6b2526a1540f9847568c0015c5e03a8da4 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 00:33:42 +0000 Subject: [PATCH 15/51] debugging 3 --- .github/workflows/premerge.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index bb7e9674f2a25..8eb5f1baa8f91 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -23,6 +23,8 @@ jobs: run: | ls -a + echo $(pwd) + modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) From c6260931f40a6ec7e5a3dbc52f2ee6ba8910045e Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 00:41:32 +0000 Subject: [PATCH 16/51] debugging 4 --- .github/workflows/premerge.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 8eb5f1baa8f91..5535732329116 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -21,9 +21,7 @@ jobs: fetch-depth: 2 - name: Build and Test run: | - ls -a - - echo $(pwd) + echo $(git status) modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) From a99b5a356fa1b4c9d238345a0c88fe08cca0e050 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 00:44:05 +0000 Subject: [PATCH 17/51] debugging 5 --- .github/workflows/premerge.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 5535732329116..17a65973031b7 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -21,6 +21,7 @@ jobs: fetch-depth: 2 - name: Build and Test run: | + git config --global --add safe.directory '*' echo $(git status) modified_files=$(git diff --name-only HEAD~1...HEAD) From 4d17c170bf6fc832dc65daed6070aa46922acc91 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 00:47:07 +0000 Subject: [PATCH 18/51] debugging 6 --- .github/workflows/premerge.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 17a65973031b7..d5012a9df931a 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -22,7 +22,6 @@ jobs: - name: Build and Test run: | git config --global --add safe.directory '*' - echo $(git status) modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) From 61a9e618d2ec28660c88823a9ca484837f01f34a Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:14:57 +0000 Subject: [PATCH 19/51] debugging 7 --- .github/workflows/premerge.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index d5012a9df931a..9561c588e0a95 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -25,6 +25,9 @@ jobs: modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) + + echo $modified_files + echo $modified_dirs . ./.ci/compute-projects.sh From 41296b6a5e0ff54aa3ca4bfaf85f1cd2f79de3d2 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:17:45 +0000 Subject: [PATCH 20/51] debugging 8 --- .github/workflows/premerge.yaml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 9561c588e0a95..55c2f5c2d7905 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -29,22 +29,22 @@ jobs: echo $modified_files echo $modified_dirs - . ./.ci/compute-projects.sh + #. ./.ci/compute-projects.sh - all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" - modified_projects="$(keep-modified-projects ${all_projects})" + #all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" + #modified_projects="$(keep-modified-projects ${all_projects})" - linux_projects_to_test=$(exclude-linux $(compute-projects-to-test 0 ${modified_projects})) - linux_check_targets=$(check-targets ${linux_projects_to_test} | sort | uniq) - linux_projects=$(add-dependencies ${linux_projects_to_test} | sort | uniq) + #linux_projects_to_test=$(exclude-linux $(compute-projects-to-test 0 ${modified_projects})) + #linux_check_targets=$(check-targets ${linux_projects_to_test} | sort | uniq) + #linux_projects=$(add-dependencies ${linux_projects_to_test} | sort | uniq) - linux_runtimes_to_test=$(compute-runtimes-to-test ${linux_projects_to_test}) - linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq) - linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq) + #linux_runtimes_to_test=$(compute-runtimes-to-test ${linux_projects_to_test}) + #linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq) + #linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq) - echo "Building projects: ${linux_projects}" - echo "Running project checks targets: ${linux_check_targets}" - echo "Building runtimes: ${linux_runtimes}" - echo "Running runtimes checks targets: ${linux_runtime_check_targets}" + #echo "Building projects: ${linux_projects}" + #echo "Running project checks targets: ${linux_check_targets}" + #echo "Building runtimes: ${linux_runtimes}" + #echo "Running runtimes checks targets: ${linux_runtime_check_targets}" - ./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" + #./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" From 80db3871dc0c9cac2e41b10029274023863a85b5 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:19:39 +0000 Subject: [PATCH 21/51] debugging 9 --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 55c2f5c2d7905..c6526202e215e 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -29,7 +29,7 @@ jobs: echo $modified_files echo $modified_dirs - #. ./.ci/compute-projects.sh + . ./.ci/compute-projects.sh #all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" #modified_projects="$(keep-modified-projects ${all_projects})" From ed2f888ab7b28b145e37feb5112cf0695e89e743 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:25:46 +0000 Subject: [PATCH 22/51] debugging 10 --- .github/workflows/premerge.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index c6526202e215e..60c60cd8fbe04 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -29,6 +29,8 @@ jobs: echo $modified_files echo $modified_dirs + cat ./.ci/compute-projects.sh + . ./.ci/compute-projects.sh #all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" From 47c666fbaa4d2fae812caaa6fe791ed1af488e06 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:36:35 +0000 Subject: [PATCH 23/51] debugging 11 --- .github/workflows/premerge.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 60c60cd8fbe04..2e6e1402973ac 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -14,6 +14,9 @@ jobs: runs-on: ubuntu-latest container: image: ghcr.io/llvm/ci-ubuntu-22.04:latest + defaults: + run: + shell: bash steps: - name: Checkout LLVM uses: actions/checkout@v4 @@ -29,8 +32,6 @@ jobs: echo $modified_files echo $modified_dirs - cat ./.ci/compute-projects.sh - . ./.ci/compute-projects.sh #all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" From 264ae7f19c556467070288081401d81a50dda806 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:38:35 +0000 Subject: [PATCH 24/51] debugging 12 --- .github/workflows/premerge.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 2e6e1402973ac..f21bf1607bf63 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,8 +24,6 @@ jobs: fetch-depth: 2 - name: Build and Test run: | - git config --global --add safe.directory '*' - modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) From 8ecd16d3db571e50604999c2889200212fb09813 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:40:58 +0000 Subject: [PATCH 25/51] Reenable --- .github/workflows/premerge.yaml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index f21bf1607bf63..7b211774c9841 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,6 +24,8 @@ jobs: fetch-depth: 2 - name: Build and Test run: | + git config --global --add safe.directory '*' + modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) @@ -32,20 +34,20 @@ jobs: . ./.ci/compute-projects.sh - #all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" - #modified_projects="$(keep-modified-projects ${all_projects})" + all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" + modified_projects="$(keep-modified-projects ${all_projects})" - #linux_projects_to_test=$(exclude-linux $(compute-projects-to-test 0 ${modified_projects})) - #linux_check_targets=$(check-targets ${linux_projects_to_test} | sort | uniq) - #linux_projects=$(add-dependencies ${linux_projects_to_test} | sort | uniq) + linux_projects_to_test=$(exclude-linux $(compute-projects-to-test 0 ${modified_projects})) + linux_check_targets=$(check-targets ${linux_projects_to_test} | sort | uniq) + linux_projects=$(add-dependencies ${linux_projects_to_test} | sort | uniq) - #linux_runtimes_to_test=$(compute-runtimes-to-test ${linux_projects_to_test}) - #linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq) - #linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq) + linux_runtimes_to_test=$(compute-runtimes-to-test ${linux_projects_to_test}) + linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq) + linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq) - #echo "Building projects: ${linux_projects}" - #echo "Running project checks targets: ${linux_check_targets}" - #echo "Building runtimes: ${linux_runtimes}" - #echo "Running runtimes checks targets: ${linux_runtime_check_targets}" + echo "Building projects: ${linux_projects}" + echo "Running project checks targets: ${linux_check_targets}" + echo "Building runtimes: ${linux_runtimes}" + echo "Running runtimes checks targets: ${linux_runtime_check_targets}" - #./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" + ./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" From 240908a619a2b269c8022fafa22eff48546838f8 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:43:36 +0000 Subject: [PATCH 26/51] Add missing system dep --- .github/workflows/premerge.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 7b211774c9841..c45842ac6873b 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -22,6 +22,9 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 2 + - name: Setup system deps + run: | + apt-get install -y ccache - name: Build and Test run: | git config --global --add safe.directory '*' From 9ad6ac925d22ff59d10998951bf4519bb62aa63e Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:45:48 +0000 Subject: [PATCH 27/51] More system deps --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index c45842ac6873b..a83d1fb2817b4 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,7 +24,7 @@ jobs: fetch-depth: 2 - name: Setup system deps run: | - apt-get install -y ccache + apt-get install -y ccache python3 python3-pip - name: Build and Test run: | git config --global --add safe.directory '*' From 740ac188abb8827703f864970536d9dddb072edf Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:48:09 +0000 Subject: [PATCH 28/51] Also update --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index a83d1fb2817b4..2bc96c0ae4be2 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,7 +24,7 @@ jobs: fetch-depth: 2 - name: Setup system deps run: | - apt-get install -y ccache python3 python3-pip + apt-get update && apt-get install -y ccache python3 python3-pip - name: Build and Test run: | git config --global --add safe.directory '*' From e6a428234aac6f53075a2f5c74a48b11d6db04a2 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:52:32 +0000 Subject: [PATCH 29/51] Force clang --- .github/workflows/premerge.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 2bc96c0ae4be2..922c6be82a8fe 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -53,4 +53,7 @@ jobs: echo "Building runtimes: ${linux_runtimes}" echo "Running runtimes checks targets: ${linux_runtime_check_targets}" + export CC=/opt/llvm/bin/clang + export CXX=/opt/llvm/bin/clang++ + ./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" From 715079b846cae6b27c4a3c0ef1f47dd9776502b4 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 01:57:19 +0000 Subject: [PATCH 30/51] Early exit --- .github/workflows/premerge.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 922c6be82a8fe..16363303ee03e 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -48,6 +48,11 @@ jobs: linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq) linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq) + if [[ "${linux_projects}" == "" ]]; then + echo "No projects to build" + exit 0 + fi + echo "Building projects: ${linux_projects}" echo "Running project checks targets: ${linux_check_targets}" echo "Building runtimes: ${linux_runtimes}" From 7ad0671285f562c5d901aee669d4659a6d0fec4f Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 02:00:05 +0000 Subject: [PATCH 31/51] Switch to premerge runners --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 16363303ee03e..e4dc380582d98 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -11,7 +11,7 @@ on: jobs: premerge-checks-linux: if: github.repository_owner == 'llvm' - runs-on: ubuntu-latest + runs-on: llvm-premerge-linux-runners container: image: ghcr.io/llvm/ci-ubuntu-22.04:latest defaults: From 14b4b9aba794beec8c758d8f9d55756de0e38bd7 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Thu, 12 Dec 2024 02:18:56 +0000 Subject: [PATCH 32/51] test commit --- llvm/tools/llvm-exegesis/llvm-exegesis.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp index 546ec770a8d22..6b5c2d4d6186e 100644 --- a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp +++ b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// -/// /// \file /// Measures execution properties (latencies/uops) of an instruction. /// From 86d4a9b603503888fb893f36af080d0ec2737a23 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Fri, 13 Dec 2024 04:53:35 +0000 Subject: [PATCH 33/51] Minor fixes --- .github/workflows/premerge.yaml | 2 +- bolt/test/unreadable-profile.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index e4dc380582d98..7021f371bfa7f 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,7 +24,7 @@ jobs: fetch-depth: 2 - name: Setup system deps run: | - apt-get update && apt-get install -y ccache python3 python3-pip + apt-get update && apt-get install -y ccache python3 python3-pip file - name: Build and Test run: | git config --global --add safe.directory '*' diff --git a/bolt/test/unreadable-profile.test b/bolt/test/unreadable-profile.test index fe1ca93f3221e..4c1cd8af0a62c 100644 --- a/bolt/test/unreadable-profile.test +++ b/bolt/test/unreadable-profile.test @@ -1,4 +1,4 @@ -REQUIRES: system-linux +REQUIRES: system-linux, non-root-user RUN: touch %t.profile && chmod 000 %t.profile RUN: %clang %S/Inputs/hello.c -o %t From b4a8ef7480cdcfc17d0573de927153b1c69a92e6 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Fri, 13 Dec 2024 22:27:25 +0000 Subject: [PATCH 34/51] Add tzdata for libc++ --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 7021f371bfa7f..378d92619d5b5 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,7 +24,7 @@ jobs: fetch-depth: 2 - name: Setup system deps run: | - apt-get update && apt-get install -y ccache python3 python3-pip file + apt-get update && apt-get install -y ccache python3 python3-pip file tzdata - name: Build and Test run: | git config --global --add safe.directory '*' From f49ac63a5c527d85d5d4b9b61cb539de05c148ff Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Fri, 13 Dec 2024 22:43:54 +0000 Subject: [PATCH 35/51] no prompting during package install --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 378d92619d5b5..31b4cb3b56a08 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,7 +24,7 @@ jobs: fetch-depth: 2 - name: Setup system deps run: | - apt-get update && apt-get install -y ccache python3 python3-pip file tzdata + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y ccache python3 python3-pip file tzdata - name: Build and Test run: | git config --global --add safe.directory '*' From 89d14aaa834b707990ddf0d708f2140befe99d3e Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Fri, 13 Dec 2024 22:47:16 +0000 Subject: [PATCH 36/51] test --- .github/workflows/premerge.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 31b4cb3b56a08..6454b66270c9a 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,7 +24,8 @@ jobs: fetch-depth: 2 - name: Setup system deps run: | - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y ccache python3 python3-pip file tzdata + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y ccache python3 python3-pip file tzdata - name: Build and Test run: | git config --global --add safe.directory '*' From 8f0dd031771b3b0371deff5c5e38736ca83a80cd Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sat, 14 Dec 2024 00:16:51 +0000 Subject: [PATCH 37/51] Fix libc++ test failures --- .../class.directory_entry/directory_entry.cons/path.pass.cpp | 2 +- .../class.directory_entry/directory_entry.mods/assign.pass.cpp | 2 +- .../class.directory_entry/directory_entry.mods/refresh.pass.cpp | 2 +- .../directory_entry.mods/replace_filename.pass.cpp | 2 +- .../directory_entry.obs/file_size.pass.cpp | 2 +- .../directory_entry.obs/file_type_obs.pass.cpp | 2 +- .../directory_entry.obs/hard_link_count.pass.cpp | 2 +- .../directory_entry.obs/last_write_time.pass.cpp | 2 +- .../directory_iterator.members/ctor.pass.cpp | 2 +- .../class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp | 2 +- .../class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp | 2 +- .../fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp | 2 +- .../fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.status/status.pass.cpp | 2 +- .../fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp | 2 +- .../fs.op.temp_dir_path/temp_directory_path.pass.cpp | 1 + 27 files changed, 27 insertions(+), 26 deletions(-) diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp index a1a37012369d4..89e41afbf92d1 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp index ba14af1240d4b..ea7a5a3a6f8d8 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp index 20a545b719ed6..6ea2e1fb1b281 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // The string reported on errors changed, which makes those tests fail when run diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp index 03e9de882ab0a..95591dc9359a1 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp index 10829f8a73db1..439f5a4011a29 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // The string reported on errors changed, which makes those tests fail when run diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp index 303a95a0128bc..61ffb42819c2c 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // Starting in Android N (API 24), SELinux policy prevents the shell user from diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp index 5d931891dd0eb..ad16e13760bd7 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // The string reported on errors changed, which makes those tests fail when run diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp index 82b94a3d6bf5f..7ea042e975525 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // The string reported on errors changed, which makes those tests fail when run diff --git a/libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp index 3e363ae9bceec..4197e31de7b59 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp index f0cc8d9a25ffc..9c8ec2fef9050 100644 --- a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp index 243bed0783dba..7435bb517e359 100644 --- a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp index 50181cb8d76c8..541466ac4d940 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp index c16664c9a3f56..c743284a5e691 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp index 79645b9c2cfde..62a4d6807b373 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp index 70fc0122427eb..1151915016d51 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp index 647d2e6a255a9..b22209506d00f 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp index 76375d7b3b78c..aee746dc8a676 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp index ba3070e7bdc7d..725e34a5e313f 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp index 06a6fb4d22deb..c983b5d12385b 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp index b6f92e47a67a2..c20902b63f1ae 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp index a71361c847049..8f65202c0edf5 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp index 7024e50e81209..1f2a5a5b36935 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp index c8a5d7f6aa10e..399d340d1e5c3 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp index 5513c18f00585..d33b24278bb19 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp index 75eae80194ba8..7942189c75548 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp index 7a4658756f0c3..412c1e2dbdae7 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks +// REQUIRES: can-create-symlinks, non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp index aed87b73121d0..ea9890102e163 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// +// REQUIRES: non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing From 536fa843a0d7275d69828800044e7c7eeabb4829 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sat, 14 Dec 2024 05:00:30 +0000 Subject: [PATCH 38/51] Only run buildkite agent if it exists --- .ci/monolithic-linux.sh | 7 +++++-- .github/workflows/premerge.yaml | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.ci/monolithic-linux.sh b/.ci/monolithic-linux.sh index a4aeea7a16add..4bfebd5f75279 100755 --- a/.ci/monolithic-linux.sh +++ b/.ci/monolithic-linux.sh @@ -34,8 +34,11 @@ function at-exit { # If building fails there will be no results files. shopt -s nullglob - python3 "${MONOREPO_ROOT}"/.ci/generate_test_report.py ":linux: Linux x64 Test Results" \ - "linux-x64-test-results" "${BUILD_DIR}"/test-results.*.xml + if command -v buildkite-agent 2>&1 >/dev/null + then + python3 "${MONOREPO_ROOT}"/.ci/generate_test_report.py ":linux: Linux x64 Test Results" \ + "linux-x64-test-results" "${BUILD_DIR}"/test-results.*.xml + fi } trap at-exit EXIT diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 6454b66270c9a..0fd81a3b2cf4e 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -62,4 +62,5 @@ jobs: export CC=/opt/llvm/bin/clang export CXX=/opt/llvm/bin/clang++ - ./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" + #./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" + ./.ci/monolitic-linux.sh "clang;bolt;lld" "check-bolt" "libcxx" "check-cxx" From fe5e092985defe3f98a2f6b70aec79cfe0e19041 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sat, 14 Dec 2024 05:04:13 +0000 Subject: [PATCH 39/51] Fix spelling --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 0fd81a3b2cf4e..93d3ed7c5c1d1 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -63,4 +63,4 @@ jobs: export CXX=/opt/llvm/bin/clang++ #./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" - ./.ci/monolitic-linux.sh "clang;bolt;lld" "check-bolt" "libcxx" "check-cxx" + ./.ci/monolithic-linux.sh "clang;bolt;lld" "check-bolt" "libcxx" "check-cxx" From 14dcc62b1251aae8158bd415f3e20caa7b5024cc Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sat, 14 Dec 2024 05:14:38 +0000 Subject: [PATCH 40/51] fix runtimes --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 93d3ed7c5c1d1..830646f5cea0b 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -63,4 +63,4 @@ jobs: export CXX=/opt/llvm/bin/clang++ #./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" - ./.ci/monolithic-linux.sh "clang;bolt;lld" "check-bolt" "libcxx" "check-cxx" + ./.ci/monolithic-linux.sh "clang;bolt;lld" "check-bolt" "libcxx;libcxxabi;libunwind" "check-cxx" From 0e86199ebbed68d973e9c047092d5daeb8c6f3cc Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sat, 14 Dec 2024 05:39:12 +0000 Subject: [PATCH 41/51] Try full build --- .github/workflows/premerge.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 830646f5cea0b..6454b66270c9a 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -62,5 +62,4 @@ jobs: export CC=/opt/llvm/bin/clang export CXX=/opt/llvm/bin/clang++ - #./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" - ./.ci/monolithic-linux.sh "clang;bolt;lld" "check-bolt" "libcxx;libcxxabi;libunwind" "check-cxx" + ./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})" From 7c9b0e01f5ae914ca4ce69311a382046563b8587 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sat, 14 Dec 2024 22:02:27 +0000 Subject: [PATCH 42/51] Try non-root user --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 6454b66270c9a..65c8c3dabc27e 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -13,7 +13,7 @@ jobs: if: github.repository_owner == 'llvm' runs-on: llvm-premerge-linux-runners container: - image: ghcr.io/llvm/ci-ubuntu-22.04:latest + image: ghcr.io/keenuts-test-org/linux-ci-testing:latest defaults: run: shell: bash From e19ec9eb2b50bb9a2a5ca89767db5a0cd0a09402 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sat, 14 Dec 2024 22:20:47 +0000 Subject: [PATCH 43/51] Remove installing things --- .github/workflows/premerge.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 65c8c3dabc27e..ddb9f176e095d 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -22,10 +22,6 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 2 - - name: Setup system deps - run: | - apt-get update - DEBIAN_FRONTEND=noninteractive apt-get install -y ccache python3 python3-pip file tzdata - name: Build and Test run: | git config --global --add safe.directory '*' From 7a0634a4292d480d991f91025860187423a35722 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sun, 15 Dec 2024 06:09:23 +0000 Subject: [PATCH 44/51] Revert "Fix libc++ test failures" This reverts commit 8f0dd031771b3b0371deff5c5e38736ca83a80cd. --- .../class.directory_entry/directory_entry.cons/path.pass.cpp | 2 +- .../class.directory_entry/directory_entry.mods/assign.pass.cpp | 2 +- .../class.directory_entry/directory_entry.mods/refresh.pass.cpp | 2 +- .../directory_entry.mods/replace_filename.pass.cpp | 2 +- .../directory_entry.obs/file_size.pass.cpp | 2 +- .../directory_entry.obs/file_type_obs.pass.cpp | 2 +- .../directory_entry.obs/hard_link_count.pass.cpp | 2 +- .../directory_entry.obs/last_write_time.pass.cpp | 2 +- .../directory_iterator.members/ctor.pass.cpp | 2 +- .../class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp | 2 +- .../class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp | 2 +- .../fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp | 2 +- .../fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp | 2 +- .../fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp | 2 +- .../filesystems/fs.op.funcs/fs.op.status/status.pass.cpp | 2 +- .../fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp | 2 +- .../fs.op.temp_dir_path/temp_directory_path.pass.cpp | 1 - 27 files changed, 26 insertions(+), 27 deletions(-) diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp index 89e41afbf92d1..a1a37012369d4 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp index ea7a5a3a6f8d8..ba14af1240d4b 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp index 6ea2e1fb1b281..20a545b719ed6 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // The string reported on errors changed, which makes those tests fail when run diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp index 95591dc9359a1..03e9de882ab0a 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp index 439f5a4011a29..10829f8a73db1 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // The string reported on errors changed, which makes those tests fail when run diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp index 61ffb42819c2c..303a95a0128bc 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // Starting in Android N (API 24), SELinux policy prevents the shell user from diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp index ad16e13760bd7..5d931891dd0eb 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // The string reported on errors changed, which makes those tests fail when run diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp index 7ea042e975525..82b94a3d6bf5f 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // The string reported on errors changed, which makes those tests fail when run diff --git a/libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp index 4197e31de7b59..3e363ae9bceec 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp index 9c8ec2fef9050..f0cc8d9a25ffc 100644 --- a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp index 7435bb517e359..243bed0783dba 100644 --- a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp index 541466ac4d940..50181cb8d76c8 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp index c743284a5e691..c16664c9a3f56 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp index 62a4d6807b373..79645b9c2cfde 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp index 1151915016d51..70fc0122427eb 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp index b22209506d00f..647d2e6a255a9 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp index aee746dc8a676..76375d7b3b78c 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp index 725e34a5e313f..ba3070e7bdc7d 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp index c983b5d12385b..06a6fb4d22deb 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp index c20902b63f1ae..b6f92e47a67a2 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp index 8f65202c0edf5..a71361c847049 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp index 1f2a5a5b36935..7024e50e81209 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp index 399d340d1e5c3..c8a5d7f6aa10e 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp index d33b24278bb19..5513c18f00585 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp index 7942189c75548..75eae80194ba8 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp index 412c1e2dbdae7..7a4658756f0c3 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: can-create-symlinks, non-root-user +// REQUIRES: can-create-symlinks // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp index ea9890102e163..aed87b73121d0 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp @@ -6,7 +6,6 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: non-root-user // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-filesystem // UNSUPPORTED: availability-filesystem-missing From 53bd20fe14ce9910f05355fcf01715e32e13815f Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sun, 15 Dec 2024 06:10:59 +0000 Subject: [PATCH 45/51] Clean some stuff up --- .ci/monolithic-linux.sh | 7 ++----- .github/workflows/premerge.yaml | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.ci/monolithic-linux.sh b/.ci/monolithic-linux.sh index 4bfebd5f75279..a4aeea7a16add 100755 --- a/.ci/monolithic-linux.sh +++ b/.ci/monolithic-linux.sh @@ -34,11 +34,8 @@ function at-exit { # If building fails there will be no results files. shopt -s nullglob - if command -v buildkite-agent 2>&1 >/dev/null - then - python3 "${MONOREPO_ROOT}"/.ci/generate_test_report.py ":linux: Linux x64 Test Results" \ - "linux-x64-test-results" "${BUILD_DIR}"/test-results.*.xml - fi + python3 "${MONOREPO_ROOT}"/.ci/generate_test_report.py ":linux: Linux x64 Test Results" \ + "linux-x64-test-results" "${BUILD_DIR}"/test-results.*.xml } trap at-exit EXIT diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index ddb9f176e095d..1aa87b8278e57 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -28,7 +28,7 @@ jobs: modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) - + echo $modified_files echo $modified_dirs From cc7bce17b37a564590840c456b235b9f0cb5d94e Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sun, 15 Dec 2024 06:11:42 +0000 Subject: [PATCH 46/51] more cleanup --- .github/workflows/premerge.yaml | 2 +- llvm/tools/llvm-exegesis/llvm-exegesis.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 1aa87b8278e57..4c0d4581d2bf0 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -28,7 +28,7 @@ jobs: modified_files=$(git diff --name-only HEAD~1...HEAD) modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u) - + echo $modified_files echo $modified_dirs diff --git a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp index 6b5c2d4d6186e..546ec770a8d22 100644 --- a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp +++ b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp @@ -5,6 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// +/// /// \file /// Measures execution properties (latencies/uops) of an instruction. /// From 70bffd2fb264b06b938c9fe72d408915bc9f2bc1 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sun, 15 Dec 2024 06:12:54 +0000 Subject: [PATCH 47/51] Switch image back --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 4c0d4581d2bf0..08c3112d3e958 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -13,7 +13,7 @@ jobs: if: github.repository_owner == 'llvm' runs-on: llvm-premerge-linux-runners container: - image: ghcr.io/keenuts-test-org/linux-ci-testing:latest + image: ghcr.io/llvm/ci-ubuntu-22.04:latest defaults: run: shell: bash From a37cfb8d37028d36eb5f237dbedb9bc58b9ab09c Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sun, 15 Dec 2024 06:14:18 +0000 Subject: [PATCH 48/51] Revert "Switch image back" This reverts commit 70bffd2fb264b06b938c9fe72d408915bc9f2bc1. --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 08c3112d3e958..4c0d4581d2bf0 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -13,7 +13,7 @@ jobs: if: github.repository_owner == 'llvm' runs-on: llvm-premerge-linux-runners container: - image: ghcr.io/llvm/ci-ubuntu-22.04:latest + image: ghcr.io/keenuts-test-org/linux-ci-testing:latest defaults: run: shell: bash From 691dcaa7f4f9a293622669ece492a9b65acc7319 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sun, 15 Dec 2024 06:19:16 +0000 Subject: [PATCH 49/51] Minor improvements --- .github/workflows/premerge.yaml | 5 +++++ llvm/tools/llvm-exegesis/llvm-exegesis.cpp | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 4c0d4581d2bf0..796c5fbe171b5 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -12,6 +12,9 @@ jobs: premerge-checks-linux: if: github.repository_owner == 'llvm' runs-on: llvm-premerge-linux-runners + concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} + cancel-in-progress: true container: image: ghcr.io/keenuts-test-org/linux-ci-testing:latest defaults: @@ -22,6 +25,8 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 2 + - name: Setup ccache + uses: hendrikmuhs/ccache-action@v1.2.14 - name: Build and Test run: | git config --global --add safe.directory '*' diff --git a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp index 546ec770a8d22..c9d7d98210214 100644 --- a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp +++ b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp @@ -1,5 +1,4 @@ //===-- llvm-exegesis.cpp ---------------------------------------*- C++ -*-===// -// // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception From f3f68a42d7f2b79a4f97c8eae4908b2f127ea3bf Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sun, 15 Dec 2024 07:24:22 +0000 Subject: [PATCH 50/51] Revert changes --- llvm/tools/llvm-exegesis/llvm-exegesis.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp index c9d7d98210214..546ec770a8d22 100644 --- a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp +++ b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp @@ -1,4 +1,5 @@ //===-- llvm-exegesis.cpp ---------------------------------------*- C++ -*-===// +// // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception From e529bc9b0f3913fed9fb9e5fc24466f30f97093a Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sun, 15 Dec 2024 07:25:37 +0000 Subject: [PATCH 51/51] Switch image to official one --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 796c5fbe171b5..a7b3ec88f91f4 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -16,7 +16,7 @@ jobs: group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true container: - image: ghcr.io/keenuts-test-org/linux-ci-testing:latest + image: ghcr.io/llvm/ci-ubuntu-22.04:latest defaults: run: shell: bash