Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
f88b9e5
changes
EricWF Nov 21, 2023
7ff054e
changes
EricWF Nov 22, 2023
5894006
changes
EricWF Nov 22, 2023
bec38b2
changes
EricWF Nov 22, 2023
fb5b97d
changes
EricWF Nov 22, 2023
60987f4
changes
EricWF Nov 22, 2023
856437f
changes
EricWF Nov 22, 2023
4da8036
changes
EricWF Nov 22, 2023
f7a7cbd
Merge branch 'main' into abc
EricWF Nov 22, 2023
85c3c24
changes
EricWF Nov 22, 2023
5da4c45
all changes
EricWF Nov 28, 2023
408e9b3
changes
EricWF Nov 28, 2023
9358a0c
changes
EricWF Nov 28, 2023
8fd6403
abc
EricWF Nov 28, 2023
7551118
changes
EricWF Nov 28, 2023
b716336
changes
EricWF Nov 28, 2023
e40fcee
changes
EricWF Nov 28, 2023
742d919
changes
EricWF Nov 28, 2023
1fbecf4
changes
EricWF Nov 28, 2023
d21131e
changes
EricWF Nov 28, 2023
5253dbf
changes
EricWF Nov 28, 2023
89000f6
changes
EricWF Nov 28, 2023
c9af421
changes
EricWF Nov 28, 2023
05cea17
changes
EricWF Nov 28, 2023
8d41203
changes
EricWF Nov 28, 2023
bb260e8
changes
EricWF Nov 28, 2023
4734c86
changes
EricWF Nov 28, 2023
dc47cfb
changes
EricWF Nov 28, 2023
81bfb85
Merge pull request #5 from efcs/other
EricWF Nov 28, 2023
ac5d0e4
changes
EricWF Nov 28, 2023
202ecb7
changes
EricWF Nov 28, 2023
d0413d6
changes
EricWF Nov 28, 2023
8c87f2b
changes
EricWF Nov 28, 2023
41003b5
changes
EricWF Nov 28, 2023
b77803f
changes
EricWF Nov 28, 2023
4c2f954
changes
EricWF Nov 28, 2023
17b5402
changes
EricWF Nov 28, 2023
f8279b4
changes
EricWF Nov 28, 2023
841250c
changes
EricWF Nov 28, 2023
78e5dca
changes
EricWF Nov 28, 2023
7837fe9
changes
EricWF Nov 28, 2023
43df21d
changes
EricWF Nov 28, 2023
aac1ec1
changes
EricWF Nov 28, 2023
0e00e94
changes
EricWF Nov 28, 2023
0c3e9d5
changes
EricWF Nov 28, 2023
d76cf9f
changes
EricWF Nov 28, 2023
53adff7
changes
EricWF Nov 28, 2023
5058ead
changes
EricWF Nov 28, 2023
cd8f14b
changes
EricWF Nov 28, 2023
39f5e98
changes
EricWF Nov 28, 2023
c659bbe
changes
EricWF Nov 28, 2023
e73ac54
changes
EricWF Nov 28, 2023
1acf6ec
changes
EricWF Nov 28, 2023
1cce9ca
changes
EricWF Nov 28, 2023
736a4b4
changes
EricWF Nov 28, 2023
a96b3b1
Merge branch 'baz'
EricWF Nov 28, 2023
26b0ad9
changes
EricWF Nov 28, 2023
8eb146f
changes
EricWF Nov 28, 2023
f601b38
changes
EricWF Nov 28, 2023
231943b
changes
EricWF Nov 28, 2023
01b1750
changes
EricWF Nov 28, 2023
219f174
changes
EricWF Nov 28, 2023
77950ee
changes
EricWF Nov 28, 2023
189558f
changes
EricWF Nov 28, 2023
8b26c7a
changes
EricWF Nov 28, 2023
572df33
changes
EricWF Nov 28, 2023
baf7a80
changes
EricWF Nov 28, 2023
1f02ca3
changes again
EricWF Nov 28, 2023
7624b58
changes again
EricWF Nov 28, 2023
6437137
changes
EricWF Nov 29, 2023
ac9233c
changes
EricWF Nov 29, 2023
e4187bd
changes
EricWF Nov 29, 2023
f23365d
change
EricWF Nov 29, 2023
71d25ac
changes
EricWF Nov 29, 2023
82d6c0d
changes
EricWF Nov 29, 2023
d2df971
changes
EricWF Nov 29, 2023
59f031a
working again
EricWF Nov 29, 2023
8a3db52
changes
EricWF Nov 30, 2023
4798d7c
changes
EricWF Nov 30, 2023
251df3f
changes
EricWF Nov 30, 2023
fd989a3
Merge branch 'baz'
EricWF Nov 30, 2023
7403d90
changes
EricWF Nov 30, 2023
664661c
changes
EricWF Nov 30, 2023
4aba1e9
changes
EricWF Nov 30, 2023
04a9e51
changes
EricWF Nov 30, 2023
efb5103
changes
EricWF Nov 30, 2023
6c9af1b
changes
EricWF Nov 30, 2023
9c93917
changes
EricWF Nov 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

on: [ pull_request ]
on: [ pull_request, push ]

permissions:
checks: write
Expand All @@ -9,10 +9,8 @@ jobs:
run:
runs-on: [ self-hosted ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- uses: efcs/action/reject-user@main
- uses: actions/checkout@v4
- uses: efcs/action/get-email@main
id: get-email
- run: echo ${{ steps.get-email.outputs.user-email }}

File renamed without changes.
56 changes: 56 additions & 0 deletions .github/workflows/call2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# This file defines pre-commit CI for libc++, libc++abi, and libunwind (on Github).
#
# We split the configurations in multiple stages with the intent of saving compute time
# when a job fails early in the pipeline. This is why the jobs are marked as `continue-on-error: false`.
# We try to run the CI configurations with the most signal in the first stage.
#
# Stages 1 & 2 are meant to be "smoke tests", and are meant to catch most build/test failures quickly and without using
# too many resources.
# Stage 3 is "everything else", and is meant to catch breakages on more niche or unique configurations.
#
# Therefore, we "fail-fast" for any failures during stages 1 & 2, meaning any job failing cancels all other running jobs,
# under the assumption that if the "smoke tests" fail, then the other configurations will likely fail in the same way.
# However, stage 3 does not fail fast, as it's more likely that any one job failing is a flake or a configuration-specific
#

on:
workflow_dispatch:
inputs:
machine:
description: 'machine'
required: false
default: libcxx-runners-8
type: choice
options:
- rizzo-runner-8-set
- rizzo-runner-dd-set
- rizzo-runner-1-set
cmd:
description: 'cmd'
required: false
default: echo hello
type: string
image:
description: 'image'
required: false
default: ubuntu:latest
type: string




jobs:
stage1:
runs-on: ${{ inputs.machine }}
steps:
- name: FooBar
run: ${{ inputs.cmd }}
cont-test:
runs-on: ${{ inputs.machine }}
container:
image: ${{ inputs.image }}
options: --cpus 1 --memory 2G
steps:
- name: echo hello
run: echo hello

238 changes: 238 additions & 0 deletions .github/workflows/callable.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
# This file defines pre-commit CI for libc++, libc++abi, and libunwind (on Github).
#
# We split the configurations in multiple stages with the intent of saving compute time
# when a job fails early in the pipeline. This is why the jobs are marked as `continue-on-error: false`.
# We try to run the CI configurations with the most signal in the first stage.
#
# Stages 1 & 2 are meant to be "smoke tests", and are meant to catch most build/test failures quickly and without using
# too many resources.
# Stage 3 is "everything else", and is meant to catch breakages on more niche or unique configurations.
#
# Therefore, we "fail-fast" for any failures during stages 1 & 2, meaning any job failing cancels all other running jobs,
# under the assumption that if the "smoke tests" fail, then the other configurations will likely fail in the same way.
# However, stage 3 does not fail fast, as it's more likely that any one job failing is a flake or a configuration-specific
#

on:
workflow_dispatch:
inputs:
source:
description: 'the source root'
required: false
default: .
type: string
cc:
description: 'compiler'
required: false
default: clang
cxx:
description: 'compiler'
required: false
default: clang++
runner-group:
description: 'runner set'
required: false
default: rizzo-runner-64-set
cmake:
description: 'cmake'
required: false
default: /opt/bin/cmake
ninja:
description: 'ninja'
required: false
default: /opt/bin/ninja
run_stage1:
description: 'Stages to run'
required: false
default: true
run_stage2:
description: 'stage 2 run'
required: false
default: true
run_stage3:
description: 'stage 3 run'
required: false
default: false





env:
CMAKE: "/opt/bin/cmake"
# LLVM POST-BRANCH bump version
# LLVM POST-BRANCH add compiler test for ToT - 1, e.g. "Clang 17"
# LLVM RELEASE bump remove compiler ToT - 3, e.g. "Clang 15"
LLVM_HEAD_VERSION: "18" # Used compiler, update POST-BRANCH.
LLVM_PREVIOUS_VERSION: "17"
LLVM_OLDEST_VERSION: "16"
GCC_STABLE_VERSION: "13"
LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-18"
CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics"


jobs:
stage1:
if: ${{ inputs.run_stage1 }}
runs-on:
group: ${{ inputs.runner-group }}
continue-on-error: false
strategy:
fail-fast: true
matrix:
config: [
'generic-cxx03',
'generic-cxx26',
'generic-modules'
]
cc: [ 'clang-18' ]
cxx: [ 'clang++-18' ]
clang_tidy: [ 'ON' ]
include:
- config: 'generic-gcc'
cc: 'gcc-13'
cxx: 'g++-13'
clang_tidy: 'OFF'
steps:
- uses: actions/checkout@v4
with:
repository: llvm/llvm-project
ref: ${{ inputs.llvm_ref }}
- name: ${{ matrix.config }}.${{ matrix.cxx }}
run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
ENABLE_CLANG_TIDY: ${{ matrix.clang_tidy }}
- uses: actions/upload-artifact@v3
if: always()
with:
name: ${{ matrix.config }}-${{ matrix.cxx }}-results
path: |
**/test-results.xml
**/*.abilist
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
stage2:
if: ${{ inputs.run_stage1 }} && ${{ inputs.run_stage2 }}
runs-on: rizzo-runner-64-set
needs: [ stage1 ]
continue-on-error: false
strategy:
fail-fast: true
matrix:
config: [
'generic-cxx11',
'generic-cxx14',
'generic-cxx17',
'generic-cxx20',
'generic-cxx23'
]
cc: [ 'clang-18' ]
cxx: [ 'clang++-18' ]
clang_tidy: [ 'ON' ]
include:
- config: 'generic-gcc-cxx11'
cc: 'gcc-13'
cxx: 'g++-13'
clang_tidy: 'OFF'
- config: 'generic-cxx23'
cc: 'clang-16'
cxx: 'clang++-16'
clang_tidy: 'OFF'
- config: 'generic-cxx23'
cc: 'clang-17'
cxx: 'clang++-17'
clang_tidy: 'OFF'
steps:
- uses: actions/checkout@v4
with:
repository: llvm/llvm-project
ref: ${{ inputs.llvm_ref }}
- name: ${{ matrix.config }}
run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
ENABLE_CLANG_TIDY: ${{ matrix.clang_tidy }}
- uses: actions/upload-artifact@v3
if: always() # Upload artifacts even if the build or test suite fails
with:
name: ${{ matrix.config }}-results
path: |
**/test-results.xml
**/*.abilist
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
stage3:
if: inputs.run_stage3
needs: [ stage1, stage2 ]
continue-on-error: false
strategy:
fail-fast: false
max-parallel: 8
matrix:
config: [
'generic-abi-unstable',
'generic-hardening-mode-debug',
'generic-hardening-mode-extensive',
'generic-hardening-mode-fast',
'generic-hardening-mode-fast-with-abi-breaks',
'generic-merged',
'generic-modules-lsv',
'generic-no-exceptions',
'generic-no-experimental',
'generic-no-filesystem',
'generic-no-localization',
'generic-no-random_device',
'generic-no-threads',
'generic-no-tzdb',
'generic-no-unicode',
'generic-no-wide-characters',
'generic-static',
'generic-with_llvm_unwinder'
]
machine: [ 'libcxx-runners-8' ]
std_modules: [ 'OFF' ]
include:
- config: 'generic-cxx26'
machine: libcxx-runners-8
std_modules: 'ON'
- config: 'generic-asan'
machine: libcxx-runners-8
std_modules: 'OFF'
- config: 'generic-tsan'
machine: libcxx-runners-8
std_modules: 'OFF'
- config: 'generic-ubsan'
machine: libcxx-runners-8
std_modules: 'OFF'
# Use a larger machine for MSAN to avoid timeout and memory allocation issues.
- config: 'generic-msan'
machine: libcxx-runners-32
std_modules: 'OFF'
runs-on: rizzo-runner-64-set
steps:
- uses: actions/checkout@v4
with:
repository: llvm/llvm-project
ref: ${{ inputs.llvm_ref }}
- name: ${{ matrix.config }}
run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
env:
CC: clang-18
CXX: clang++-18
ENABLE_CLANG_TIDY: "OFF"
ENABLE_STD_MODULES: ${{ matrix.std_modules }}
- uses: actions/upload-artifact@v3
if: always()
with:
name: ${{ matrix.config }}-results
path: |
**/test-results.xml
**/*.abilist
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
21 changes: 21 additions & 0 deletions .github/workflows/check-run-complete.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Next Workflow

on:
workflow_run:
workflows: ["Previous Workflow"]
types:
- completed

jobs:
download:
runs-on: ubuntu-latest

steps:
- name: Download artifact
uses: actions/download-artifact@v2
with:
name: my-artifact
path: path-to-download-folder

- name: Unzip artifact
run: unzip path-to-download-folder/my-artifact.zip -d extracted-artifact
49 changes: 49 additions & 0 deletions .github/workflows/email-test2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@

on: [ pull_request ]

permissions:
checks: write
statuses: write

jobs:
run:
runs-on: rizzo-runner-1-set
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: foobar
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo $GITHUB_CONTEXT | jq
- run: git log --pretty=format:%ae | awk '/<pattern>/ && !line{line=$0} END{print line}'
- name: Get PR Author Email Address
run: sudo docker ps
- run: |
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/${{ github.actor }}
- run: |
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
${{ github.event.pull_request._links.commits.href }}
- run: ls -lart && pwd && ls -lart ../ && ls -lart ../../
- run: git status
- run: python3 ./get-email/main.py
env:
GITHUB_TOKEN: ${{ github.token }}
PULL_REQUEST_COMMITS_HREF: ${{ github.event.pull_request._links.commits.href }}
run-on-success:
# Check if the PR has label libcxx-stage3-tests
if: contains(github.event.pull_request.labels.*.name, 'libcxx-stage3-tests')
needs: [ run ]
runs-on: rizzo-runner-11-set
steps:
- run: |
echo "The name of the pusher: ${{ github.event.pusher.name }}"


Loading