[libcxx-commits] [libcxx] [llvm] [CI][Github] Add linux premerge workflow (PR #119635)
Aiden Grossman via libcxx-commits
libcxx-commits at lists.llvm.org
Sat Dec 14 22:19:51 PST 2024
https://github.com/boomanaiden154 updated https://github.com/llvm/llvm-project/pull/119635
>From 6ffa419968dd2c10c11f66c380fba2f77a18767a Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 09:38:33 +0000
Subject: [PATCH 01/49] [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 00000000000000..b33158339ef3fd
--- /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 190dd1e5ba5af0..ddcaca813be3c0 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 <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 09:42:31 +0000
Subject: [PATCH 02/49] 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 ddcaca813be3c0..31186bef9c8933 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 <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 09:43:24 +0000
Subject: [PATCH 03/49] 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 31186bef9c8933..9d9ca321839449 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 <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 09:44:40 +0000
Subject: [PATCH 04/49] 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 b33158339ef3fd..32baf26b4f0a05 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 <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 23:31:07 +0000
Subject: [PATCH 05/49] [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 00000000000000..33a5b57ab3548f
--- /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 at v4
+ - name: Build and Test
+ run: |
+ echo test
>From 9c8661960efcbfee9164dcc74bca22c5e30adbc9 Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 23:44:30 +0000
Subject: [PATCH 06/49] 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 33a5b57ab3548f..e471f0d3aa256c 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -17,4 +17,8 @@ jobs:
uses: actions/checkout at 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 <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 23:51:04 +0000
Subject: [PATCH 07/49] 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 e471f0d3aa256c..632c5ca38a1784 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -15,6 +15,8 @@ jobs:
steps:
- name: Checkout LLVM
uses: actions/checkout at 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 <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 23:53:31 +0000
Subject: [PATCH 08/49] 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 632c5ca38a1784..1964085cbf0cfc 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 <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 23:54:41 +0000
Subject: [PATCH 09/49] 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 1964085cbf0cfc..17094574499281 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 <aidengrossman at google.com>
Date: Wed, 11 Dec 2024 23:59:54 +0000
Subject: [PATCH 10/49] 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 17094574499281..94b0f97ba49509 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 00:04:04 +0000
Subject: [PATCH 11/49] 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 94b0f97ba49509..a32847c94a6093 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 00:09:06 +0000
Subject: [PATCH 12/49] 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 a32847c94a6093..e9a4f47428206e 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 at v4
>From 5f4e4517ced8a40ca78368b1eab14a18cc904d00 Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 00:23:04 +0000
Subject: [PATCH 13/49] debugging
---
.github/workflows/premerge.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index e9a4f47428206e..ece3483f2284fa 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 00:25:26 +0000
Subject: [PATCH 14/49] 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 ece3483f2284fa..bb7e9674f2a25c 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 00:33:42 +0000
Subject: [PATCH 15/49] 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 bb7e9674f2a25c..8eb5f1baa8f911 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 00:41:32 +0000
Subject: [PATCH 16/49] 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 8eb5f1baa8f911..5535732329116a 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 00:44:05 +0000
Subject: [PATCH 17/49] 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 5535732329116a..17a65973031b70 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 00:47:07 +0000
Subject: [PATCH 18/49] 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 17a65973031b70..d5012a9df931a8 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:14:57 +0000
Subject: [PATCH 19/49] 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 d5012a9df931a8..9561c588e0a957 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:17:45 +0000
Subject: [PATCH 20/49] 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 9561c588e0a957..55c2f5c2d79057 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:19:39 +0000
Subject: [PATCH 21/49] 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 55c2f5c2d79057..c6526202e215e5 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:25:46 +0000
Subject: [PATCH 22/49] 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 c6526202e215e5..60c60cd8fbe045 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:36:35 +0000
Subject: [PATCH 23/49] 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 60c60cd8fbe045..2e6e1402973acf 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 at 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:38:35 +0000
Subject: [PATCH 24/49] 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 2e6e1402973acf..f21bf1607bf633 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:40:58 +0000
Subject: [PATCH 25/49] 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 f21bf1607bf633..7b211774c98419 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:43:36 +0000
Subject: [PATCH 26/49] 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 7b211774c98419..c45842ac6873b6 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -22,6 +22,9 @@ jobs:
uses: actions/checkout at 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:45:48 +0000
Subject: [PATCH 27/49] 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 c45842ac6873b6..a83d1fb2817b43 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:48:09 +0000
Subject: [PATCH 28/49] 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 a83d1fb2817b43..2bc96c0ae4be25 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:52:32 +0000
Subject: [PATCH 29/49] 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 2bc96c0ae4be25..922c6be82a8fef 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 01:57:19 +0000
Subject: [PATCH 30/49] 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 922c6be82a8fef..16363303ee03eb 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 02:00:05 +0000
Subject: [PATCH 31/49] 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 16363303ee03eb..e4dc380582d98e 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 <aidengrossman at google.com>
Date: Thu, 12 Dec 2024 02:18:56 +0000
Subject: [PATCH 32/49] 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 546ec770a8d221..6b5c2d4d6186ed 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 <aidengrossman at google.com>
Date: Fri, 13 Dec 2024 04:53:35 +0000
Subject: [PATCH 33/49] 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 e4dc380582d98e..7021f371bfa7f7 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 fe1ca93f3221e8..4c1cd8af0a62c1 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 <aidengrossman at google.com>
Date: Fri, 13 Dec 2024 22:27:25 +0000
Subject: [PATCH 34/49] 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 7021f371bfa7f7..378d92619d5b57 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 <aidengrossman at google.com>
Date: Fri, 13 Dec 2024 22:43:54 +0000
Subject: [PATCH 35/49] 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 378d92619d5b57..31b4cb3b56a08a 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 <aidengrossman at google.com>
Date: Fri, 13 Dec 2024 22:47:16 +0000
Subject: [PATCH 36/49] 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 31b4cb3b56a08a..6454b66270c9ac 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 <aidengrossman at google.com>
Date: Sat, 14 Dec 2024 00:16:51 +0000
Subject: [PATCH 37/49] 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 a1a37012369d4c..89e41afbf92d11 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
// <filesystem>
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 ba14af1240d4b7..ea7a5a3a6f8d81 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
// <filesystem>
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 20a545b719ed6f..6ea2e1fb1b281f 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 03e9de882ab0ab..95591dc9359a1f 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
// <filesystem>
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 10829f8a73db1f..439f5a4011a295 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 303a95a0128bc9..61ffb42819c2ca 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 5d931891dd0eb6..ad16e13760bd78 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 82b94a3d6bf5f9..7ea042e9755258 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 3e363ae9bceec2..4197e31de7b590 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 f0cc8d9a25ffc0..9c8ec2fef90504 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 243bed0783dba7..7435bb517e3596 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 50181cb8d76c84..541466ac4d940f 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 c16664c9a3f56e..c743284a5e6917 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 79645b9c2cfded..62a4d6807b3736 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 70fc0122427eb4..1151915016d51d 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 647d2e6a255a95..b22209506d00fa 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 76375d7b3b78c3..aee746dc8a6763 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 ba3070e7bdc7d1..725e34a5e313f6 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 06a6fb4d22debb..c983b5d12385bf 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 b6f92e47a67a22..c20902b63f1ae4 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 a71361c8470493..8f65202c0edf51 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 7024e50e81209c..1f2a5a5b369354 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 c8a5d7f6aa10e4..399d340d1e5c37 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 5513c18f00585e..d33b24278bb19e 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 75eae80194ba80..7942189c755481 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 7a4658756f0c30..412c1e2dbdae71 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 aed87b73121d06..ea9890102e163d 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 <aidengrossman at google.com>
Date: Sat, 14 Dec 2024 05:00:30 +0000
Subject: [PATCH 38/49] 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 a4aeea7a16addc..4bfebd5f752795 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 6454b66270c9ac..0fd81a3b2cf4e5 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 <aidengrossman at google.com>
Date: Sat, 14 Dec 2024 05:04:13 +0000
Subject: [PATCH 39/49] 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 0fd81a3b2cf4e5..93d3ed7c5c1d1e 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 <aidengrossman at google.com>
Date: Sat, 14 Dec 2024 05:14:38 +0000
Subject: [PATCH 40/49] 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 93d3ed7c5c1d1e..830646f5cea0be 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 <aidengrossman at google.com>
Date: Sat, 14 Dec 2024 05:39:12 +0000
Subject: [PATCH 41/49] 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 830646f5cea0be..6454b66270c9ac 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 <aidengrossman at google.com>
Date: Sat, 14 Dec 2024 22:02:27 +0000
Subject: [PATCH 42/49] 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 6454b66270c9ac..65c8c3dabc27ef 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 <aidengrossman at google.com>
Date: Sat, 14 Dec 2024 22:20:47 +0000
Subject: [PATCH 43/49] 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 65c8c3dabc27ef..ddb9f176e095de 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -22,10 +22,6 @@ jobs:
uses: actions/checkout at 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 <aidengrossman at google.com>
Date: Sun, 15 Dec 2024 06:09:23 +0000
Subject: [PATCH 44/49] 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 89e41afbf92d11..a1a37012369d4c 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
// <filesystem>
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 ea7a5a3a6f8d81..ba14af1240d4b7 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
// <filesystem>
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 6ea2e1fb1b281f..20a545b719ed6f 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 95591dc9359a1f..03e9de882ab0ab 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
// <filesystem>
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 439f5a4011a295..10829f8a73db1f 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 61ffb42819c2ca..303a95a0128bc9 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 ad16e13760bd78..5d931891dd0eb6 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 7ea042e9755258..82b94a3d6bf5f9 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 4197e31de7b590..3e363ae9bceec2 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 9c8ec2fef90504..f0cc8d9a25ffc0 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 7435bb517e3596..243bed0783dba7 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 541466ac4d940f..50181cb8d76c84 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 c743284a5e6917..c16664c9a3f56e 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 62a4d6807b3736..79645b9c2cfded 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 1151915016d51d..70fc0122427eb4 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 b22209506d00fa..647d2e6a255a95 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 aee746dc8a6763..76375d7b3b78c3 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 725e34a5e313f6..ba3070e7bdc7d1 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 c983b5d12385bf..06a6fb4d22debb 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 c20902b63f1ae4..b6f92e47a67a22 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 8f65202c0edf51..a71361c8470493 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 1f2a5a5b369354..7024e50e81209c 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 399d340d1e5c37..c8a5d7f6aa10e4 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 d33b24278bb19e..5513c18f00585e 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 7942189c755481..75eae80194ba80 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 412c1e2dbdae71..7a4658756f0c30 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 ea9890102e163d..aed87b73121d06 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 <aidengrossman at google.com>
Date: Sun, 15 Dec 2024 06:10:59 +0000
Subject: [PATCH 45/49] 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 4bfebd5f752795..a4aeea7a16addc 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 ddb9f176e095de..1aa87b8278e578 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 <aidengrossman at google.com>
Date: Sun, 15 Dec 2024 06:11:42 +0000
Subject: [PATCH 46/49] 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 1aa87b8278e578..4c0d4581d2bf08 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 6b5c2d4d6186ed..546ec770a8d221 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 <aidengrossman at google.com>
Date: Sun, 15 Dec 2024 06:12:54 +0000
Subject: [PATCH 47/49] 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 4c0d4581d2bf08..08c3112d3e9580 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 <aidengrossman at google.com>
Date: Sun, 15 Dec 2024 06:14:18 +0000
Subject: [PATCH 48/49] 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 08c3112d3e9580..4c0d4581d2bf08 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 <aidengrossman at google.com>
Date: Sun, 15 Dec 2024 06:19:16 +0000
Subject: [PATCH 49/49] 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 4c0d4581d2bf08..796c5fbe171b57 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 at v4
with:
fetch-depth: 2
+ - name: Setup ccache
+ uses: hendrikmuhs/ccache-action at 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 546ec770a8d221..c9d7d982102148 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
More information about the libcxx-commits
mailing list