From f88b9e53edfa832515f1bdcb4fddb73b4b3128aa Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:15:48 -0500 Subject: [PATCH 01/84] changes --- .github/workflows/email-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test.yaml b/.github/workflows/email-test.yaml index 9f80476..79d128e 100644 --- a/.github/workflows/email-test.yaml +++ b/.github/workflows/email-test.yaml @@ -1,5 +1,5 @@ -on: [ pull_request ] +on: [ pull_request, push ] permissions: checks: write From 7ff054e894aa5cbdc7a7bc40366f119a8ffda0ce Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 22 Nov 2023 02:10:25 -0500 Subject: [PATCH 02/84] changes --- reject-user/main.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reject-user/main.py b/reject-user/main.py index 66d69c8..dd7ee10 100644 --- a/reject-user/main.py +++ b/reject-user/main.py @@ -51,9 +51,8 @@ class CheckRun(BaseModel): def main(): - if commit. - conclusion, annotations = process_results(results) - + rich.print(context) + ''' check_run = repo.create_check_run( name="Libc++ Test Suite", head_sha=context.sha, @@ -66,6 +65,7 @@ def main(): }, ) rich.print(check_run) + ''' if __name__ == "__main__": From 5894006c9a1831d0cf54e0bc52e68cffeff45a6b Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 22 Nov 2023 02:11:53 -0500 Subject: [PATCH 03/84] changes --- .github/workflows/email-test.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/email-test.yaml b/.github/workflows/email-test.yaml index 79d128e..17c892e 100644 --- a/.github/workflows/email-test.yaml +++ b/.github/workflows/email-test.yaml @@ -9,9 +9,7 @@ jobs: run: runs-on: [ self-hosted ] steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 2 + - uses: actions/checkout@v4 - uses: efcs/action/reject-user@main id: get-email - run: echo ${{ steps.get-email.outputs.user-email }} From bec38b246d67b57d41ccc761971197711b653bb9 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 22 Nov 2023 02:17:42 -0500 Subject: [PATCH 04/84] changes --- .attach_pid1081853 | 0 .github/workflows/email-test.yaml | 2 +- {reject-user => get-email}/action.yaml | 6 ++++++ {reject-user => get-email}/main.py | 0 {reject-user => get-email}/results.json | 0 {reject-user => get-email}/run.py | 0 6 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .attach_pid1081853 rename {reject-user => get-email}/action.yaml (83%) rename {reject-user => get-email}/main.py (100%) rename {reject-user => get-email}/results.json (100%) rename {reject-user => get-email}/run.py (100%) diff --git a/.attach_pid1081853 b/.attach_pid1081853 new file mode 100644 index 0000000..e69de29 diff --git a/.github/workflows/email-test.yaml b/.github/workflows/email-test.yaml index 17c892e..96974d2 100644 --- a/.github/workflows/email-test.yaml +++ b/.github/workflows/email-test.yaml @@ -10,7 +10,7 @@ jobs: runs-on: [ self-hosted ] steps: - uses: actions/checkout@v4 - - uses: efcs/action/reject-user@main + - uses: efcs/action/get-email@main id: get-email - run: echo ${{ steps.get-email.outputs.user-email }} diff --git a/reject-user/action.yaml b/get-email/action.yaml similarity index 83% rename from reject-user/action.yaml rename to get-email/action.yaml index 06f03fd..4859e8b 100644 --- a/reject-user/action.yaml +++ b/get-email/action.yaml @@ -18,3 +18,9 @@ runs: git checkout remotes/origin/${{ github.head_ref }} echo "::set-output name=user_email::$(git log -n 1 --pretty=format:%ae)" git checkout - + + - id: check_email + shell: bash + run: | + python3 ${{ github.action_path }}/main.py + diff --git a/reject-user/main.py b/get-email/main.py similarity index 100% rename from reject-user/main.py rename to get-email/main.py diff --git a/reject-user/results.json b/get-email/results.json similarity index 100% rename from reject-user/results.json rename to get-email/results.json diff --git a/reject-user/run.py b/get-email/run.py similarity index 100% rename from reject-user/run.py rename to get-email/run.py From fb5b97d0ce659ac0bcfca65e4f1b8a5a0d211d60 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 22 Nov 2023 02:18:19 -0500 Subject: [PATCH 05/84] changes --- get-email/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/get-email/main.py b/get-email/main.py index dd7ee10..06d106c 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -68,4 +68,4 @@ def main(): ''' if __name__ == "__main__": - + main() From 60987f4fe321611a7c082940e8a1ff97829aa18b Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 22 Nov 2023 02:20:46 -0500 Subject: [PATCH 06/84] changes --- get-email/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/get-email/main.py b/get-email/main.py index 06d106c..effbe6a 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -67,5 +67,6 @@ def main(): rich.print(check_run) ''' + if __name__ == "__main__": main() From 856437f6f4a85717693b375d06188a515a5ea591 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 22 Nov 2023 02:23:01 -0500 Subject: [PATCH 07/84] changes --- get-email/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/get-email/main.py b/get-email/main.py index 06d106c..9422119 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -3,7 +3,7 @@ from pathlib import Path from typing import Any, Literal -from actions_toolkit.core as core +import actions_toolkit.core as core from actions_toolkit.github import Context from github import Github from pydantic import BaseModel, Field From 4da8036a6e9064ace757cbda5e024f0e205b4e4c Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 22 Nov 2023 02:23:01 -0500 Subject: [PATCH 08/84] changes --- get-email/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/get-email/main.py b/get-email/main.py index effbe6a..7198bf5 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -3,7 +3,7 @@ from pathlib import Path from typing import Any, Literal -from actions_toolkit.core as core +import actions_toolkit.core as core from actions_toolkit.github import Context from github import Github from pydantic import BaseModel, Field From 85c3c24d3e12cd4ca93791b4e744eedd405e9062 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 22 Nov 2023 12:20:30 -0500 Subject: [PATCH 09/84] changes --- .gitignore | 1 + get-email/action.yaml | 4 - python-test/main.py | 37 -- .attach_pid1081853 => src/__init__.py | 0 src/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 163 bytes src/llvmact/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 171 bytes .../libcxx_test_parser.cpython-311.pyc | Bin 0 -> 31884 bytes src/llvmact/libcxx_test_parser.py | 355 ++++++++++++++++++ src/llvmact/types/__init__.py | 0 src/llvmact/types/github.py | 26 ++ src/llvmact/types/llvm.py | 15 + 12 files changed, 397 insertions(+), 41 deletions(-) create mode 100644 .gitignore rename .attach_pid1081853 => src/__init__.py (100%) create mode 100644 src/__pycache__/__init__.cpython-311.pyc create mode 100644 src/llvmact/__init__.py create mode 100644 src/llvmact/__pycache__/__init__.cpython-311.pyc create mode 100644 src/llvmact/__pycache__/libcxx_test_parser.cpython-311.pyc create mode 100644 src/llvmact/libcxx_test_parser.py create mode 100644 src/llvmact/types/__init__.py create mode 100644 src/llvmact/types/github.py create mode 100644 src/llvmact/types/llvm.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cb70ac3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.*attach_pid* diff --git a/get-email/action.yaml b/get-email/action.yaml index 4859e8b..1cdc1f4 100644 --- a/get-email/action.yaml +++ b/get-email/action.yaml @@ -19,8 +19,4 @@ runs: echo "::set-output name=user_email::$(git log -n 1 --pretty=format:%ae)" git checkout - - - id: check_email - shell: bash - run: | - python3 ${{ github.action_path }}/main.py diff --git a/python-test/main.py b/python-test/main.py index eb48a25..17c5e52 100644 --- a/python-test/main.py +++ b/python-test/main.py @@ -22,43 +22,6 @@ commit = repo.get_commit(context.sha) -class TestResult(BaseModel): - code: Literal["PASS", "FAIL", "SKIP", "XPASS"] - elapsed: float - metrics: dict[str, Any] = Field(default_factory=dict) - name: str - output: str - -class LITTestResults(BaseModel): - version: tuple[int, int, int] = Field(alias="__version__") - elapsed: float - tests: list[TestResult] = Field(default_factory=list) - -class Annotation(BaseModel): - path: str - start_line: int - end_line: int - annotation_level: Literal["notice", "warning", "failure"] - message: str - title: str - raw_details: str - -class CheckRun(BaseModel): - name: str - head_sha: str - status: Literal["queued", "in_progress", "completed"] - conclusion: Literal["success", "failure", "neutral", "cancelled", "timed_out", "action_required"] - output: dict[str, Any] = Field(default_factory=dict) - actions: list[dict[str, Any]] = Field(default_factory=list) - check_suite: dict[str, Any] = Field(default_factory=dict) - external_id: str - started_at: str - completed_at: str - output: dict[str, Any] = Field(default_factory=dict) - annotations: list[Annotation] = Field(default_factory=list) - pull_requests: list[dict[str, Any]] = Field(default_factory=list) - - def process_results(results: LITTestResults): annotations = [] conclusion = "success" diff --git a/.attach_pid1081853 b/src/__init__.py similarity index 100% rename from .attach_pid1081853 rename to src/__init__.py diff --git a/src/__pycache__/__init__.cpython-311.pyc b/src/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e3d741c85ff23ffc6b49ce6465156d02e45d4152 GIT binary patch literal 163 zcmZ3^%ge<81P_(tQbF`%5CH>>P{wCAAY(d13PUi1CZpder~FM zYEfpgett2X#0(Sz08aBJA^-pY literal 0 HcmV?d00001 diff --git a/src/llvmact/__init__.py b/src/llvmact/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/llvmact/__pycache__/__init__.cpython-311.pyc b/src/llvmact/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..00e6ca2fda0d39438efba0d09a122269ff32ba29 GIT binary patch literal 171 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¬zI+N_Ot5yk$;T;c04Vd&IqSf!0H#&>KD@d3#Fn94J9;? zKKKWKO8FrZN31h=uLn2~+Q0NN(iy^AWlZ0&@C6Y@AFCw14dHF3Ir%cHf6$-~VVL|O z(vt5G_&x!`%G}_YwJH~~RtdlG1=G0cD~_AmgyEWU<0bQ|Crl$W$2dttW5G*qhap+nStbaZ+SxOf}zw*Wjmc^E;Bg-%p207oG(i{^3K{17P(px#P{t`~r- ziq3vFg4K3g2dF9!YV4Fi0n}8{V*xZZ*`CGG?K-%v;KxEWxos~ZfDW#9Q3?gnR47cb zSaheg8nsmzzrvNLmInfyR}6e}Jl=-nQMNj4&O#+mORL3(e%JRC|d zBe`I8l;Y$rOxEk!N8Z^)VrFHNCfX~Rny*A!B#V&C1xW`M9V<+Y&zL6jnUtwpk1Z6P z!*p^%I>HhF>Q}U@uy6^Q=E_}{-T6CArlSpuQ``?ty`b=!WpaAw7vwGbNb=ucYoDKD zES^1#EqmCLCd1FPi4sDO{x}c>n8B&WxtX)q{OfAY+cXdZ8Ct4-Y>gfgCOs%KkjXvytcbZ=X5Z_Bv*Rd@fQ`@n+xK*l|&x(8DSF(-28Bc?@{@lG~e?v@4EHe?WqjksPc_z zzEL0U?EJnA->>rh>HPO0g4_-;fInk)v4TolmO(hsb0rrTPJwYej8&}6igfV{t8Jys z;IT5vZ>rXIGlTq+wKlC+g26tX;ibTu_1$M0%4oi@Fm&j{J$_tZjNLhs+zNh~Ke^1E ze~kv%9h^_@A8}vAiT1?d86V8L@*$Jex}aGbLMENLp#JJ2Ta@2MB{T(v@x!0c zPF6IJkV!1d&;9+ByygM27PJ1+%-C7Mk_h{ra*FdN6UQqJGC+Lq3;^*xJNTZv$oHy= z?|B}^_gvmZ*Omp>mW-=ib+s?Lo?39hdT^KO+65!Q9K+k6;hR(_%Y0Ljk$wB#i}%iB zZGqpW^4rq;VpoO_sC*#J2R`*QuE^La z_w@^|^%>Vj)wS`$TxmTFT1^3d+L=)D8PM|9< z+?h>J*(!mKYKwW4r6a!RU%b-`aiv1n-4LT6ys~PF$sUjI^o7a}h)BMwKlJ>|o%x38 zaKnLS6`o1)dm4JMae&z^k;KT}Pnh*-63wtO5>Jd^Gmu8!wB(SVj&L)g6(gaG*zuOo zEO@EOi_`h5SO~^Z3a_6`t~Zgi(fb6E^9`f|a^|fTe%V2w%31G7J-1xT)j*%(?aWTF z^|ocnUHxYJo%T2Ucm1i*$L@wjcgupiWv(ydUaz{>r$X3OwCHGAaFCN@z3Nz>cC2S^ zO$&~u*;nsfoqILo*rYl(rP&v+fy^b%aDD`h(n9UAmcTj!?-F>Qz<(eh5Gd-KKc+_l zZB&W`5ws&IVf_)=KlB+e`0mECpKXlx7&e!j&IO9-M$vQ7=2qS=pOj ze`%V|$F5bL-pM7oq^fb;P_xEr$821BZXJC4J^>`oOu& zfphACbL=Hs_HNl({|EEC|uR^r;m*e9~&MS zlIzHakxVPy4G^G8WZk1fr!Y~y|J2Yatr!OxDh?fO3bYU%ELM9kY zXm3H@$qrOXAW7_y#;;K{Z zv&0GMa^FIEKB-#^dy|&*x{K+^6*V%Isk^GyT}{<2^R*V>cPW@%^BK8*Ui8|!#zHTq zD-S9SR?8~P#*~2BU7wNb=S45~pryvT%oSnEy*y&& zE$v`FC14KG;fj~W=Dj?_Rtxx4dH5M~|6K2ThUYA`DIa~7`CZgdrC`>DMaIv_PBzG*)>yJN+5+`FsU`MkxOeq&S5) literal 0 HcmV?d00001 diff --git a/src/llvmact/libcxx_test_parser.py b/src/llvmact/libcxx_test_parser.py new file mode 100644 index 0000000..eaaf5cb --- /dev/null +++ b/src/llvmact/libcxx_test_parser.py @@ -0,0 +1,355 @@ +import re +from typing import Tuple, Union +from pydantic import BaseModel, Field +import os, sys, re +from enum import Enum +import rich +from typing import Any, Optional +import re + +clang_error_re = re.compile(r"^(# \||)(?P.*):(?P\d+):(?P\d+): error: (?P.*)$", re.MULTILINE) + +class ClangError(BaseModel): + file: str + line: int + column : int + text : str + + @staticmethod + def try_parse(text): + m = clang_error_re.match(text) + if m is None: + return None + else: + return ClangError.model_validate({ + 'file': m.group('file'), + 'line': int(m.group('line')), + 'column': int(m.group('column')), + 'text': m.group('text')}) + + +class TryParseResult: + def __init__(self, success: bool, value: Any, raw : str = None): + self.success = success + self._value = value + self._raw = raw if raw is not None else value + + @property + def value(self): + assert self.success + return self._value + + @property + def raw(self): + assert self.success + return self._raw + + def raise_if_failed(self): + if not self.success: + raise ValueError("TryParseResult failed") + return self + + def __bool__(self): + return self.success + + def __str__(self): + return f"TryParseResult(success={self.success}, value={self.value})" + +class StatusBlock(BaseModel): + exit_code : int + stdout : str + groups : list[Any] = Field(default_factory=list) + clang_diagnostics : list[ClangError] = Field(default_factory=list) + + +# A command block is a block of output text from LLVM's test suite defined as: +# either: +# (A) One or more comment lines (the header), followed by one or more non-comment +# lines +class CommandBlock(BaseModel): + header: str = '' + body: str = '' + + +TEST_CASES = [ +''' +Exit Code: 0 + +Command Output (stdout): +-- +# COMPILED WITH +/usr/local/bin/clang++ /home/eric/llvm-project/libcxx/test/std/example/runs.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -Werror=thread-safety -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/eric/llvm-project/build/libcxx/lib -Wl,-rpath,/home/eric/llvm-project/build/libcxx/lib -lc++ -o /home/eric/llvm-project/build/libcxx/test/std/example/Output/runs.pass.cpp.dir/t.tmp.exe +# executed command: /usr/local/bin/clang++ /home/eric/llvm-project/libcxx/test/std/example/runs.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -Werror=thread-safety -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/eric/llvm-project/build/libcxx/lib -Wl,-rpath,/home/eric/llvm-project/build/libcxx/lib -lc++ -o /home/eric/llvm-project/build/libcxx/test/std/example/Output/runs.pass.cpp.dir/t.tmp.exe +# EXECUTED AS +/home/eric/.pyenvs/idea/bin/python3 /home/eric/llvm-project/libcxx/utils/run.py --execdir /home/eric/llvm-project/build/libcxx/test/std/example/Output/runs.pass.cpp.dir -- /home/eric/llvm-project/build/libcxx/test/std/example/Output/runs.pass.cpp.dir/t.tmp.exe +# executed command: /home/eric/.pyenvs/idea/bin/python3 /home/eric/llvm-project/libcxx/utils/run.py --execdir /home/eric/llvm-project/build/libcxx/test/std/example/Output/runs.pass.cpp.dir -- /home/eric/llvm-project/build/libcxx/test/std/example/Output/runs.pass.cpp.dir/t.tmp.exe + +-- +''', +''' +Exit Code: 250 + +Command Output (stdout): +-- +# COMPILED WITH +/usr/local/bin/clang++ /home/eric/llvm-project/libcxx/test/std/example/fails-to-run.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -Werror=thread-safety -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/eric/llvm-project/build/libcxx/lib -Wl,-rpath,/home/eric/llvm-project/build/libcxx/lib -lc++ -o /home/eric/llvm-project/build/libcxx/test/std/example/Output/fails-to-run.pass.cpp.dir/t.tmp.exe +# executed command: /usr/local/bin/clang++ /home/eric/llvm-project/libcxx/test/std/example/fails-to-run.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -Werror=thread-safety -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/eric/llvm-project/build/libcxx/lib -Wl,-rpath,/home/eric/llvm-project/build/libcxx/lib -lc++ -o /home/eric/llvm-project/build/libcxx/test/std/example/Output/fails-to-run.pass.cpp.dir/t.tmp.exe +# EXECUTED AS +/home/eric/.pyenvs/idea/bin/python3 /home/eric/llvm-project/libcxx/utils/run.py --execdir /home/eric/llvm-project/build/libcxx/test/std/example/Output/fails-to-run.pass.cpp.dir -- /home/eric/llvm-project/build/libcxx/test/std/example/Output/fails-to-run.pass.cpp.dir/t.tmp.exe +# executed command: /home/eric/.pyenvs/idea/bin/python3 /home/eric/llvm-project/libcxx/utils/run.py --execdir /home/eric/llvm-project/build/libcxx/test/std/example/Output/fails-to-run.pass.cpp.dir -- /home/eric/llvm-project/build/libcxx/test/std/example/Output/fails-to-run.pass.cpp.dir/t.tmp.exe +# .---command stderr------------ +# | t.tmp.exe: /home/eric/llvm-project/libcxx/test/std/example/fails-to-run.pass.cpp:4: int main(): Assertion `false && "shit"' failed. +# `----------------------------- +# error: command failed with exit status: 250 + +-- +''', +''' +Exit Code: 1 + +Command Output (stdout): +-- +# COMPILED WITH +/usr/local/bin/clang++ /home/eric/llvm-project/libcxx/test/std/example/fails-to-compile.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -Werror=thread-safety -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/eric/llvm-project/build/libcxx/lib -Wl,-rpath,/home/eric/llvm-project/build/libcxx/lib -lc++ -o /home/eric/llvm-project/build/libcxx/test/std/example/Output/fails-to-compile.pass.cpp.dir/t.tmp.exe +# executed command: /usr/local/bin/clang++ /home/eric/llvm-project/libcxx/test/std/example/fails-to-compile.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/build/libcxx/include/c++/v1 -I /home/eric/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -Werror=thread-safety -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/eric/llvm-project/build/libcxx/lib -Wl,-rpath,/home/eric/llvm-project/build/libcxx/lib -lc++ -o /home/eric/llvm-project/build/libcxx/test/std/example/Output/fails-to-compile.pass.cpp.dir/t.tmp.exe +# .---command stderr------------ +# | /home/eric/llvm-project/libcxx/test/std/example/fails-to-compile.pass.cpp:6:7: error: no viable overloaded '+=' +# | 6 | S += V; +# | | ~ ^ ~ +# | /home/eric/llvm-project/libcxx/test/std/example/fails-to-compile.pass.cpp:12:5: note: in instantiation of function template specialization 'foo>' requested here +# | 12 | foo(s, v); +# | | ^ +# | /home/eric/llvm-project/build/libcxx/include/c++/v1/string:1216:71: note: candidate function not viable: no known conversion from 'const std::vector' to 'const string' for 1st argument +# | 1216 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const basic_string& __str) { +# | | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ +# | /home/eric/llvm-project/build/libcxx/include/c++/v1/string:1225:5: note: candidate template ignored: requirement '__can_be_converted_to_string_view, std::vector>>::value' was not satisfied [with _Tp = std::vector] +# | 1225 | operator+=(const _Tp& __t) { +# | | ^ +# | /home/eric/llvm-project/build/libcxx/include/c++/v1/string:1229:71: note: candidate function not viable: no known conversion from 'const std::vector' to 'const value_type *' (aka 'const char *') for 1st argument +# | 1229 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const value_type* __s) { +# | | ^ ~~~~~~~~~~~~~~~~~~~~~ +# | /home/eric/llvm-project/build/libcxx/include/c++/v1/string:1233:71: note: candidate function not viable: no known conversion from 'const std::vector' to 'value_type' (aka 'char') for 1st argument +# | 1233 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(value_type __c) { +# | | ^ ~~~~~~~~~~~~~~ +# | /home/eric/llvm-project/build/libcxx/include/c++/v1/string:1240:19: note: candidate function not viable: no known conversion from 'const std::vector' to 'initializer_list' (aka 'initializer_list') for 1st argument +# | 1240 | basic_string& operator+=(initializer_list __il) { return append(__il); } +# | | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# | 1 error generated. +# `----------------------------- +# error: command failed with exit status: 1 +-- +''' +] + + +class ExecutedCommandBlock(BaseModel): + command : str + stdout : Optional[str] = None + stderr : Optional[str] = None + error_message : Optional[str] = None + +class LineLexer: + def __init__(self, lines, n): + self.lines = lines + self.n = n + + def peek(self): + if self.n < len(self.lines): + return self.lines[self.n] + else: + return None + + def ignore_blank(self, one = False): + while self.peek() and self.peek().strip() == '': + self.n += 1 + if one: + return + + + def untake(self): + self.n -= 1 + + def take_if(self, pred): + if pred(self.peek()): + return self.take() + else: + return None + + def take_if_prefix(self, prefix, remove_prefix = True): + if self.peek().startswith(prefix): + if remove_prefix: + return TryParseResult(True, self.take().value[len(prefix):]) + else: + return self.take() + else: + return TryParseResult(False, None) + + def take_while(self, pred): + while self.__bool__() and pred(self.peek()): + yield self.take() + + def take_matching(self, pattern, group = None): + r = re.compile(pattern) + m = r.match(self.peek()) + if m is None: + return TryParseResult(False, None) + self.take() + if group is None: + return TryParseResult(True, m.group()) + else: + return TryParseResult(True, m.group(group)) + + + def take(self): + if self.n < len(self.lines): + self.n += 1 + return TryParseResult(True, self.lines[self.n - 1]) + else: + raise IndexError("No more lines") + + def try_take_comment(self): + if self.peek().startswith('#'): + ln = self.take() + return TryParseResult(True, ln[1:].strip(), raw = ln) + else: + return TryParseResult(False, None) + + def try_take_comment_block(self): + + if self.peek().startswith('# '): + header = self.take()[1:].strip() + body = '' + while self.peek() and not self.peek().startswith('#'): + body += self.take() + return TryParseResult(True, NestedCommentBlock(header=header, body=body)) + else: + return TryParseResult(False, None) + + def try_parse_executed_command_block(self): + ln = self.peek() + if not ln.startswith('# executed command:'): + return TryParseResult(False, None) + else: + cmd = self.take().value + cmd = cmd[len('# executed command: '):] + blocks = {} + while self.peek() and self.peek().startswith('# .---'): + cmd_header = self.take_matching(r'# \.---([-]*)(?P
[^-]+)[-]+$', 'HEADER') + rich.print('command header', cmd_header) + lines = [ln.value[len('# | '):] for ln in self.take_while(lambda x: x.startswith('# |'))] + end_ln = self.take_if_prefix('# `---').raise_if_failed() + blocks[cmd_header.value] = '\n'.join(lines) + + res = self.take_matching('# error: (?P.*)', 'ERROR_MSG').raise_if_failed() + full = { + 'command': cmd, + 'stderr': blocks['command stderr'] if 'command stderr' in blocks else None, + 'stdout': blocks['command stdout'] if 'command stdout' in blocks else None, + 'error_message': res.value + } + return TryParseResult(True, ExecutedCommandBlock(**full)) + + def try_parse_command_block(self): + ln = self.peek() + if ln := self.take_matching(r'^# (?P[A-Z\s]+)\s*$', 'TITLE'): + title = ln.value + body = '' + while self.peek() and not self.peek().startswith('#'): + body += self.take().value + return TryParseResult(True, CommandBlock(header=title, body=body)) + else: + return TryParseResult(False, None) + + def try_parse_status_block(self): + if not self.peek().startswith('Exit Code:'): + return TryParseResult(False, None) + exit_code = self.take_matching(r'^Exit Code: (?P<EXIT_CODE>\d+)$', 'EXIT_CODE').raise_if_failed() + self.ignore_blank() + self.take_matching(r'^Command Output \(stdout\):$').raise_if_failed() + self.ignore_blank() + output = '' + while self.peek() and not self.peek().startswith('#'): + output += self.take() + return TryParseResult(True, StatusBlock(exit_code=exit_code.value, stdout=output)) + + def try_parse_block(self): + if sb := self.try_parse_status_block(): + return sb + elif eb := self.try_parse_executed_command_block(): + return eb + elif cb := self.try_parse_command_block(): + return cb + else: + return TryParseResult(False, None) + + + def take_while(self, pred): + while self.peek() and pred(self.peek()): + yield self.take() + + +import unittest + +class TestParse(unittest.TestCase): + def test_group_blocks(self): + cmd_block = ''' +# executed command: foo bar +# .---command stdout------------ +# | hello +# | world +# `----------------------------- +# .---command stderr------------ +# | error +# | message +# `----------------------------- +# error: command failed with exit status: 1 +'''.strip() + lexer = LineLexer(cmd_block.splitlines(), 0) + exe = lexer.try_parse_executed_command_block().raise_if_failed() + value = exe.value + self.assertTrue(exe) + self.assertEqual(value.command, 'foo bar') + rich.print(value) + self.assertEqual(value.stdout, 'hello\nworld') + + def test_take_command_block(self): + cmd_block = ''' +# EXECUTED +clang++ foo +# RAN +g++ bar +'''.strip() + lexer = LineLexer(cmd_block.splitlines(), 0) + b = lexer.try_parse_command_block().raise_if_failed() + self.assertTrue(b) + self.assertEqual(b.value.header, 'EXECUTED') + self.assertEqual(b.value.body, 'clang++ foo') + b = lexer.try_parse_command_block().raise_if_failed() + self.assertTrue(b) + self.assertEqual(b.value.header, 'RAN') + self.assertEqual(b.value.body, 'g++ bar') + + lexer = LineLexer(cmd_block.splitlines(), 0) + b = lexer.try_parse_block() + self.assertTrue(b) + self.assertEqual(b.value.header, 'EXECUTED') + + def test_clang_error_re(self): + test_diags = [ +''' +# | /home/eric/llvm-project/libcxx/test/std/example/fails-to-compile.pass.cpp:6:7: error: no viable overloaded '+=' +''', +''' +/home/eric/llvm-project/libcxx/test/std/example/fails-to-compile.pass.cpp:6:7: error: no viable overloaded '+=' +''' + ] + for t in test_diags: + t = t.strip() + m = ClangError.parse(t) + self.assertIsNotNone(m) + self.assertEqual(m.line, 6) + + +class LibcxxTestOutput(BaseModel): + Output : list[Union[ExecutedCommandBlock, CommandBlock, str]] = Field(default_factory=list) + diff --git a/src/llvmact/types/__init__.py b/src/llvmact/types/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/llvmact/types/github.py b/src/llvmact/types/github.py new file mode 100644 index 0000000..c628655 --- /dev/null +++ b/src/llvmact/types/github.py @@ -0,0 +1,26 @@ +from pydantic import BaseModel, Field +from typing import Literal, Any, Union, Optional + +class Annotation(BaseModel): + path: str + start_line: int + end_line: int + annotation_level: Literal["notice", "warning", "failure"] + message: str + title: str + raw_details: str + +class CheckRun(BaseModel): + name: str + head_sha: str + status: Literal["queued", "in_progress", "completed"] + conclusion: Literal["success", "failure", "neutral", "cancelled", "timed_out", "action_required"] + output: dict[str, Any] = Field(default_factory=dict) + actions: list[dict[str, Any]] = Field(default_factory=list) + check_suite: dict[str, Any] = Field(default_factory=dict) + external_id: str + started_at: str + completed_at: str + output: dict[str, Any] = Field(default_factory=dict) + annotations: list[Annotation] = Field(default_factory=list) + pull_requests: list[dict[str, Any]] = Field(default_factory=list) diff --git a/src/llvmact/types/llvm.py b/src/llvmact/types/llvm.py new file mode 100644 index 0000000..0a6c358 --- /dev/null +++ b/src/llvmact/types/llvm.py @@ -0,0 +1,15 @@ +from pydantic import BaseModel, Field +from typing import Literal, Any, Union, Optional + + +class TestResult(BaseModel): + code: Literal["PASS", "FAIL", "SKIP", "XPASS"] + elapsed: float + metrics: dict[str, Any] = Field(default_factory=dict) + name: str + output: str + +class LITTestResults(BaseModel): + version: tuple[int, int, int] = Field(alias="__version__") + elapsed: float + tests: list[TestResult] = Field(default_factory=list) From 5da4c45fb8734c59e0b2a75f33ac3161304b11c9 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:56:35 -0500 Subject: [PATCH 10/84] all changes --- .github/workflows/email-test2.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/email-test2.yaml diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml new file mode 100644 index 0000000..24ee50e --- /dev/null +++ b/.github/workflows/email-test2.yaml @@ -0,0 +1,17 @@ + +on: [ pull_request, push ] + +permissions: + checks: write + statuses: write + +jobs: + run: + runs-on: [ self-hosted ] + steps: + - uses: actions/checkout@v4 + - name: foobar + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + - run: echo $GITHUB_CONTEXT + From 408e9b3b303e5ed71f6e6dc62f474a7b15856ad6 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:57:15 -0500 Subject: [PATCH 11/84] changes --- .github/workflows/{ => OFF}/email-test.yaml | 0 .github/workflows/{ => OFF}/python-test.yaml | 0 .github/workflows/{ => OFF}/test.yaml | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{ => OFF}/email-test.yaml (100%) rename .github/workflows/{ => OFF}/python-test.yaml (100%) rename .github/workflows/{ => OFF}/test.yaml (100%) diff --git a/.github/workflows/email-test.yaml b/.github/workflows/OFF/email-test.yaml similarity index 100% rename from .github/workflows/email-test.yaml rename to .github/workflows/OFF/email-test.yaml diff --git a/.github/workflows/python-test.yaml b/.github/workflows/OFF/python-test.yaml similarity index 100% rename from .github/workflows/python-test.yaml rename to .github/workflows/OFF/python-test.yaml diff --git a/.github/workflows/test.yaml b/.github/workflows/OFF/test.yaml similarity index 100% rename from .github/workflows/test.yaml rename to .github/workflows/OFF/test.yaml From 9358a0c791a504fdf64d34072246330013acfde5 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:59:22 -0500 Subject: [PATCH 12/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 24ee50e..eaec5c8 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -13,5 +13,5 @@ jobs: - name: foobar env: GITHUB_CONTEXT: ${{ toJson(github) }} - - run: echo $GITHUB_CONTEXT + run: echo $GITHUB_CONTEXT From 8fd6403582e5a6da3683c40f36a67ccb488b8ec0 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:06:54 -0500 Subject: [PATCH 13/84] abc From 755111806c12a184123be33005fa138648c8e681 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:12:08 -0500 Subject: [PATCH 14/84] changes --- .github/workflows/email-test2.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index eaec5c8..b4e5ba4 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -13,5 +13,9 @@ jobs: - name: foobar env: GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo $GITHUB_CONTEXT - + 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: | + echo "The name of the pusher: ${{ github.event.pusher.name }}" + echo "The email of the pusher: ${{ github.event.pusher.email }}" From b7163360c908968d2b79e9fb23391eea06ca0c23 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:18:52 -0500 Subject: [PATCH 15/84] changes --- .github/workflows/email-test2.yaml | 2 ++ docker/Dockerfile | 1 + 2 files changed, 3 insertions(+) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index b4e5ba4..3bec528 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -10,6 +10,8 @@ jobs: runs-on: [ self-hosted ] steps: - uses: actions/checkout@v4 + with: + depth: 100 - name: foobar env: GITHUB_CONTEXT: ${{ toJson(github) }} diff --git a/docker/Dockerfile b/docker/Dockerfile index a8dd2c6..ae65479 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -14,3 +14,4 @@ RUN python3 -m venv ~/venv && echo "source ~/venv/bin/activate" >> ~/.bashrc RUN . ~/venv/bin/activate && python3 -m pip install --upgrade pip && python3 -m pip install -r /tmp/requirements.txt +RUN sudo apt-get update && sudo apt-get install -y jq From e40fceeaf4f4e0a968b9c42ee0d2e42a0523ef33 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:19:39 -0500 Subject: [PATCH 16/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 3bec528..6fdfe4c 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/checkout@v4 with: - depth: 100 + fetch-depth: 100 - name: foobar env: GITHUB_CONTEXT: ${{ toJson(github) }} From 742d91962051fe381bc2740b1d5d35491889d3fe Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:22:56 -0500 Subject: [PATCH 17/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 6fdfe4c..662a8c6 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/checkout@v4 with: - fetch-depth: 100 + sparse-checkout: false - name: foobar env: GITHUB_CONTEXT: ${{ toJson(github) }} From 1fbecf473460fafc88cb2ef275e837ce872829ae Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:23:06 -0500 Subject: [PATCH 18/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 662a8c6..3e4e2ea 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -1,5 +1,5 @@ -on: [ pull_request, push ] +on: [ pull_request ] permissions: checks: write From d21131e7dfc46d5cc8bb7aca373b1e3a45aec707 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:31:30 -0500 Subject: [PATCH 19/84] changes --- .github/workflows/email-test2.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 3e4e2ea..459c6ee 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -21,3 +21,9 @@ jobs: run: | echo "The name of the pusher: ${{ github.event.pusher.name }}" echo "The email of the pusher: ${{ github.event.pusher.email }}" + - run: |- + curl -L \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer $GITHUB_TOKEN" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/users/${{ github.actor }} From 5253dbf610ac8a83c166fdf33ab603da1a68c6bf Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:32:31 -0500 Subject: [PATCH 20/84] changes --- .github/workflows/email-test2.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 459c6ee..d61a376 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -21,9 +21,9 @@ jobs: run: | echo "The name of the pusher: ${{ github.event.pusher.name }}" echo "The email of the pusher: ${{ github.event.pusher.email }}" - - run: |- + - run: | curl -L \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer $GITHUB_TOKEN" \ + -H "Authorization: $GITHUB_TOKEN" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/users/${{ github.actor }} From 89000f64e64973e9156da7aaa18f2dac11f5a604 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:39:18 -0500 Subject: [PATCH 21/84] changes --- .github/workflows/email-test2.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index d61a376..b16b281 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -27,3 +27,9 @@ jobs: -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 }} From c9af421e7ab867c04c0499027a271d6b194c7c3a Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:49:13 -0500 Subject: [PATCH 22/84] changes --- .github/workflows/email-test2.yaml | 1 + get-email/main.py | 34 ++++++++++++++++++------------ 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index b16b281..4a85541 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -33,3 +33,4 @@ jobs: -H "Authorization: $GITHUB_TOKEN" \ -H "X-GitHub-Api-Version: 2022-11-28" \ ${{ github.event.pull_request._links.commits.href }} + - run: python3 ./get-email/main.py diff --git a/get-email/main.py b/get-email/main.py index 7198bf5..9f7626f 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -7,15 +7,20 @@ from actions_toolkit.github import Context from github import Github from pydantic import BaseModel, Field +import requests import rich + # Create Github instance with provided token github_token = os.environ["GITHUB_TOKEN"] github = Github(github_token) + # Get current context (GitHub Actions context) context = Context() +import rich +rich.inspect(context, methods=True) # Fetch the repository information repo = github.get_repo("efcs/action") @@ -23,6 +28,20 @@ rich.inspect(commit) rich.print(commit) +def get_commits(): + headers = { + 'Accept': 'application/vnd.github+json', + 'Authorization': os.environ['GITHUB_TOKEN'], + 'X-GitHub-Api-Version': '2022-11-28' + } + + url = os.environ['PULL_REQUEST_COMMITS_HREF'] + + response = requests.get(url, headers=headers) + rich.print(response) + response.raise_for_status() + return response.json() + class Annotation(BaseModel): path: str @@ -52,20 +71,7 @@ class CheckRun(BaseModel): def main(): rich.print(context) - ''' - check_run = repo.create_check_run( - name="Libc++ Test Suite", - head_sha=context.sha, - status="completed", - conclusion=conclusion, - output={ - "title": "Check Run Output", - "summary": f"{len(annotations)} tests failed.", - "annotations": annotations - }, - ) - rich.print(check_run) - ''' + get_commits() if __name__ == "__main__": From 05cea178578f0dedcd11636a9fb9a2a02cb564b5 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:51:11 -0500 Subject: [PATCH 23/84] changes --- .github/workflows/email-test2.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 4a85541..b65c58a 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -33,4 +33,5 @@ jobs: -H "Authorization: $GITHUB_TOKEN" \ -H "X-GitHub-Api-Version: 2022-11-28" \ ${{ github.event.pull_request._links.commits.href }} + - run: ls - run: python3 ./get-email/main.py From 8d41203efc807b1ff7be8e044c3fffc2bb70bfc5 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:52:02 -0500 Subject: [PATCH 24/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index b65c58a..baa0515 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -33,5 +33,5 @@ jobs: -H "Authorization: $GITHUB_TOKEN" \ -H "X-GitHub-Api-Version: 2022-11-28" \ ${{ github.event.pull_request._links.commits.href }} - - run: ls + - run: ls -lart && pwd && ls -lart ../ && ls -lart ../../ - run: python3 ./get-email/main.py From bb260e8c75be45e55accb3968d9c6e7a44285a90 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:55:20 -0500 Subject: [PATCH 25/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index baa0515..60fc3b0 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -34,4 +34,4 @@ jobs: -H "X-GitHub-Api-Version: 2022-11-28" \ ${{ github.event.pull_request._links.commits.href }} - run: ls -lart && pwd && ls -lart ../ && ls -lart ../../ - - run: python3 ./get-email/main.py + - run: python3 ../action/get-email/main.py From 4734c8634c6d3b2db70adbbd48836568b42aa354 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:58:39 -0500 Subject: [PATCH 26/84] changes --- .github/workflows/email-test2.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 60fc3b0..d2ebfb6 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -34,4 +34,5 @@ jobs: -H "X-GitHub-Api-Version: 2022-11-28" \ ${{ github.event.pull_request._links.commits.href }} - run: ls -lart && pwd && ls -lart ../ && ls -lart ../../ - - run: python3 ../action/get-email/main.py + - run: git status + - run: python3 ../get-email/main.py From dc47cfb648090fd6245530e0c0d98f8e0e715044 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 10:00:36 -0500 Subject: [PATCH 27/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index d2ebfb6..0e90c1b 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/checkout@v4 with: - sparse-checkout: false + fetch-depth: 0 - name: foobar env: GITHUB_CONTEXT: ${{ toJson(github) }} From ac5d0e4bcc463ca54dc91472efbf647996b0b0dc Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 10:06:35 -0500 Subject: [PATCH 28/84] changes --- a.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 a.txt diff --git a/a.txt b/a.txt new file mode 100644 index 0000000..e69de29 From 202ecb7cbab04a6d40566a2056bc53a1b17d96e6 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 10:07:34 -0500 Subject: [PATCH 29/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 0e90c1b..c80caec 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -35,4 +35,4 @@ jobs: ${{ github.event.pull_request._links.commits.href }} - run: ls -lart && pwd && ls -lart ../ && ls -lart ../../ - run: git status - - run: python3 ../get-email/main.py + - run: python3 ./get-email/main.py From d0413d68515ece9b6b6e6c2553e506682e5abb96 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 10:08:40 -0500 Subject: [PATCH 30/84] changes --- .github/workflows/email-test2.yaml | 1 + get-email/main.py | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index c80caec..803c3ce 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -36,3 +36,4 @@ jobs: - run: ls -lart && pwd && ls -lart ../ && ls -lart ../../ - run: git status - run: python3 ./get-email/main.py + diff --git a/get-email/main.py b/get-email/main.py index 9f7626f..a646d8e 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -70,6 +70,7 @@ class CheckRun(BaseModel): def main(): + rich.print(os.environ) rich.print(context) get_commits() From 8c87f2bc0b879f3e4e7c2ff8e4498de8aa1b6d5d Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 10:09:46 -0500 Subject: [PATCH 31/84] changes --- get-email/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/get-email/main.py b/get-email/main.py index a646d8e..37f1cfb 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -10,7 +10,7 @@ import requests import rich - +rich.print(os.environ) # Create Github instance with provided token github_token = os.environ["GITHUB_TOKEN"] From 41003b52554e94890d664325c31875202d769de8 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 10:11:00 -0500 Subject: [PATCH 32/84] changes --- get-email/main.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/get-email/main.py b/get-email/main.py index 37f1cfb..21cd5ca 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -13,8 +13,7 @@ rich.print(os.environ) # Create Github instance with provided token -github_token = os.environ["GITHUB_TOKEN"] -github = Github(github_token) +github = Github() # Get current context (GitHub Actions context) From b77803f8aa8cea5d72648217d3ea7d4ff2bc0f98 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 10:13:50 -0500 Subject: [PATCH 33/84] changes --- get-email/main.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/get-email/main.py b/get-email/main.py index 21cd5ca..f97dc7c 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -23,9 +23,7 @@ # Fetch the repository information repo = github.get_repo("efcs/action") -commit = repo.get_commit(context.sha) -rich.inspect(commit) -rich.print(commit) + def get_commits(): headers = { @@ -33,7 +31,7 @@ def get_commits(): 'Authorization': os.environ['GITHUB_TOKEN'], 'X-GitHub-Api-Version': '2022-11-28' } - + rich.print(os.environ['PULL_REQUEST_COMMITS_HREF']) url = os.environ['PULL_REQUEST_COMMITS_HREF'] response = requests.get(url, headers=headers) From 4c2f9548a38173b3e362cf9dc27bbfce8e08f88e Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 13:42:50 -0500 Subject: [PATCH 34/84] changes --- get-email/main.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/get-email/main.py b/get-email/main.py index f97dc7c..2d73163 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -10,8 +10,6 @@ import requests import rich -rich.print(os.environ) - # Create Github instance with provided token github = Github() @@ -19,7 +17,6 @@ # Get current context (GitHub Actions context) context = Context() import rich -rich.inspect(context, methods=True) # Fetch the repository information repo = github.get_repo("efcs/action") From 17b540238ce49d981a167cea2aee184290bbec5c Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:04:40 -0500 Subject: [PATCH 35/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 803c3ce..bb0ec49 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -1,5 +1,5 @@ -on: [ pull_request ] +on: [ pull_request, pull_request_review ] permissions: checks: write From f8279b4f4f87f11d3ced3355fd11fe050c64389b Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:17:24 -0500 Subject: [PATCH 36/84] changes --- .github/workflows/label-pr.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/label-pr.yaml diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml new file mode 100644 index 0000000..07a4722 --- /dev/null +++ b/.github/workflows/label-pr.yaml @@ -0,0 +1,23 @@ +name: "Labelling new pull requests" + +permissions: + contents: read + +on: + pull_request_review: + types: [submitted] + +jobs: + approved: + if: github.event.review.state == 'APPROVED' + permissions: + issues: write + runs-on: self-hosted + steps: + - run: gh issue edit "$NUMBER" --add-label "$LABELS" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} + NUMBER: ${{ github.event.issue.number }} + LABELS: libcxx-stage3-tests + From 841250c44d9ddfecce8470d3e508409931c8bca8 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:23:33 -0500 Subject: [PATCH 37/84] changes --- docker/Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index ae65479..175a208 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -14,4 +14,9 @@ RUN python3 -m venv ~/venv && echo "source ~/venv/bin/activate" >> ~/.bashrc RUN . ~/venv/bin/activate && python3 -m pip install --upgrade pip && python3 -m pip install -r /tmp/requirements.txt -RUN sudo apt-get update && sudo apt-get install -y jq +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \ + | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \ + && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ + && sudo apt-get update \ + && sudo apt-get install gh -y From 78e5dcabab90690bfe59a4eb752f7d69f750de6f Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:26:16 -0500 Subject: [PATCH 38/84] changes --- .github/workflows/email-test2.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index bb0ec49..f03932b 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -36,4 +36,13 @@ jobs: - run: ls -lart && pwd && ls -lart ../ && ls -lart ../../ - run: git status - run: python3 ./get-email/main.py + run-on-success: + # Check if the PR has label libcxx-stage3-tests + if: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'libcxx-stage3-tests') }} + requires: [ run ] + runs-on: [ self-hosted ] + steps: + - run: | + echo "The name of the pusher: ${{ github.event.pusher.name }}" + From 7837fe9ead0b66d9aadad7c3f4cf647c6e05552b Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:26:51 -0500 Subject: [PATCH 39/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index f03932b..c2e4767 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -39,7 +39,7 @@ jobs: run-on-success: # Check if the PR has label libcxx-stage3-tests if: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'libcxx-stage3-tests') }} - requires: [ run ] + needs: [ run ] runs-on: [ self-hosted ] steps: - run: | From 43df21d77f49a3cf65acdfe90f9ba593b0284967 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:30:13 -0500 Subject: [PATCH 40/84] changes --- .github/workflows/email-test2.yaml | 2 ++ docker/Dockerfile | 2 +- get-email/main.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index c2e4767..f86a511 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -36,6 +36,8 @@ jobs: - run: ls -lart && pwd && ls -lart ../ && ls -lart ../../ - run: git status - run: python3 ./get-email/main.py + env: + GITHUB_TOKEN: ${{ secrets.token }} run-on-success: # Check if the PR has label libcxx-stage3-tests if: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'libcxx-stage3-tests') }} diff --git a/docker/Dockerfile b/docker/Dockerfile index 175a208..c1054a0 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,6 +1,6 @@ FROM ghcr.io/libcxx/actions-builder:testing AS base -RUN sudo apt update && sudo apt-get install -y --no-install-recommends python3-pip python3-venv python3-dev python3-full \ +RUN sudo apt update && sudo apt-get install -y --no-install-recommends jq python3-pip python3-venv python3-dev python3-full \ && sudo apt-get clean && sudo rm -rf /var/lib/apt/lists/* COPY <<EOF /tmp/requirements.txt diff --git a/get-email/main.py b/get-email/main.py index 2d73163..1df9a36 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -25,7 +25,7 @@ def get_commits(): headers = { 'Accept': 'application/vnd.github+json', - 'Authorization': os.environ['GITHUB_TOKEN'], + 'Authorization': '', 'X-GitHub-Api-Version': '2022-11-28' } rich.print(os.environ['PULL_REQUEST_COMMITS_HREF']) From aac1ec1988b73d46f5e22820b839ef9857adee87 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:31:34 -0500 Subject: [PATCH 41/84] changes --- .github/workflows/email-test2.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index f86a511..e56ba58 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -38,6 +38,7 @@ jobs: - run: python3 ./get-email/main.py env: GITHUB_TOKEN: ${{ secrets.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: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'libcxx-stage3-tests') }} From 0e00e94b45da5bb070820771bfaf97a75306c26c Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:33:40 -0500 Subject: [PATCH 42/84] changes --- .github/workflows/label-pr.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index 07a4722..d17fe8b 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -14,6 +14,10 @@ jobs: issues: write runs-on: self-hosted steps: + - name: foobar + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo $GITHUB_CONTEXT | jq - run: gh issue edit "$NUMBER" --add-label "$LABELS" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 0c3e9d599117cce3ecce0396394b414da8dc6762 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:34:55 -0500 Subject: [PATCH 43/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index e56ba58..e9aac45 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -1,5 +1,5 @@ -on: [ pull_request, pull_request_review ] +on: [ pull_request ] permissions: checks: write From d76cf9f336ace83298917ed9df0c7205a04b2317 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:11:08 -0500 Subject: [PATCH 44/84] changes --- .github/workflows/callable.yaml | 205 ++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 .github/workflows/callable.yaml diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml new file mode 100644 index 0000000..ff42675 --- /dev/null +++ b/.github/workflows/callable.yaml @@ -0,0 +1,205 @@ +# 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 +# +name: Build and Test libc++ +on: + workflow_call: + inputs: + ref: + description: 'ref' + required: true + run_stages: + description: 'Stages to run' + required: true + default: [1, 2, 3] + + + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} + cancel-in-progress: true + + +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: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 1) }} + runs-on: self-hosted + 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: '' + - 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: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 2) }} + runs-on: self-hosted + 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 + - 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: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 3) }} + 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: self-hosted + steps: + - uses: actions/checkout@v4 + - 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/* + From 53adff7430136ac720d3ce8f7376d3992d6564e6 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:24:15 -0500 Subject: [PATCH 45/84] changes --- .github/workflows/callable.yaml | 6 +++--- .github/workflows/email-test2.yaml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index ff42675..e68a46c 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -47,7 +47,7 @@ env: jobs: stage1: if: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 1) }} - runs-on: self-hosted + runs-on: rizzo-runner-64-set continue-on-error: false strategy: fail-fast: true @@ -88,7 +88,7 @@ jobs: **/crash_diagnostics/* stage2: if: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 2) }} - runs-on: self-hosted + runs-on: rizzo-runner-64-set needs: [ stage1 ] continue-on-error: false strategy: @@ -182,7 +182,7 @@ jobs: - config: 'generic-msan' machine: libcxx-runners-32 std_modules: 'OFF' - runs-on: self-hosted + runs-on: rizzo-runner-64-set steps: - uses: actions/checkout@v4 - name: ${{ matrix.config }} diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index e9aac45..4bb3945 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -7,7 +7,7 @@ permissions: jobs: run: - runs-on: [ self-hosted ] + runs-on: [ small ] steps: - uses: actions/checkout@v4 with: @@ -43,7 +43,7 @@ jobs: # Check if the PR has label libcxx-stage3-tests if: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'libcxx-stage3-tests') }} needs: [ run ] - runs-on: [ self-hosted ] + runs-on: [ small ] steps: - run: | echo "The name of the pusher: ${{ github.event.pusher.name }}" From 5058eadee02c3f061606dd0c0d8f0c301f030d05 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:30:27 -0500 Subject: [PATCH 46/84] changes --- .github/workflows/label-pr.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index d17fe8b..ec290f2 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -24,4 +24,5 @@ jobs: GH_REPO: ${{ github.repository }} NUMBER: ${{ github.event.issue.number }} LABELS: libcxx-stage3-tests + - work From cd8f14ba1ecb4105fd4511a757f0f46f2cf33680 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:30:48 -0500 Subject: [PATCH 47/84] changes --- .github/workflows/callable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index e68a46c..efa09df 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -69,7 +69,7 @@ jobs: - uses: actions/checkout@v4 with: repository: llvm/llvm-project - ref: '' + ref: ${{ github.event.inputs.ref }} - name: ${{ matrix.config }}.${{ matrix.cxx }} run: libcxx/utils/ci/run-buildbot ${{ matrix.config }} env: From 39f5e9891acd116258a0b7d915433e7053ce2dcb Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:33:45 -0500 Subject: [PATCH 48/84] changes --- .github/workflows/callable.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index efa09df..a9d1229 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -203,3 +203,4 @@ jobs: **/CMakeOutput.log **/crash_diagnostics/* +# hello From c659bbe8f899fe1015a115be9f2e7a4da26c5dd3 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:39:22 -0500 Subject: [PATCH 49/84] changes --- .github/workflows/callable.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index efa09df..3d6dc07 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -26,9 +26,6 @@ on: -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number }} - cancel-in-progress: true env: @@ -46,7 +43,7 @@ env: jobs: stage1: - if: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 1) }} + if: ${{ contains(inputs.run_stages, 1) }} runs-on: rizzo-runner-64-set continue-on-error: false strategy: @@ -87,7 +84,7 @@ jobs: **/CMakeOutput.log **/crash_diagnostics/* stage2: - if: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 2) }} + if: ${{ contains(github.event.inputs.run_stages, 2) }} runs-on: rizzo-runner-64-set needs: [ stage1 ] continue-on-error: false @@ -136,7 +133,7 @@ jobs: **/CMakeOutput.log **/crash_diagnostics/* stage3: - if: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 3) }} + if: ${{ contains(github.event.inputs.run_stages, 3) }} needs: [ stage1, stage2 ] continue-on-error: false strategy: From e73ac5477d0799de83b6bae2980dd2bb59f622dc Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:41:32 -0500 Subject: [PATCH 50/84] changes --- .github/workflows/callable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index 3d6dc07..5fd3401 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -14,7 +14,7 @@ # name: Build and Test libc++ on: - workflow_call: + workflow_dispatch: inputs: ref: description: 'ref' From 1acf6ec6b0b44e455a8cbdb9a7b2447040e1bc01 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:39:22 -0500 Subject: [PATCH 51/84] changes --- .github/workflows/callable.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index a9d1229..810d690 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -26,9 +26,6 @@ on: -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number }} - cancel-in-progress: true env: @@ -46,7 +43,7 @@ env: jobs: stage1: - if: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 1) }} + if: ${{ contains(inputs.run_stages, 1) }} runs-on: rizzo-runner-64-set continue-on-error: false strategy: @@ -87,7 +84,7 @@ jobs: **/CMakeOutput.log **/crash_diagnostics/* stage2: - if: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 2) }} + if: ${{ contains(github.event.inputs.run_stages, 2) }} runs-on: rizzo-runner-64-set needs: [ stage1 ] continue-on-error: false @@ -136,7 +133,7 @@ jobs: **/CMakeOutput.log **/crash_diagnostics/* stage3: - if: github.repository_owner == 'llvm' && ${{ contains(github.event.inputs.run_stages, 3) }} + if: ${{ contains(github.event.inputs.run_stages, 3) }} needs: [ stage1, stage2 ] continue-on-error: false strategy: From 1cce9ca1d6a40679dc52d2e5f2ce127660e237e1 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:41:32 -0500 Subject: [PATCH 52/84] changes --- .github/workflows/callable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index 810d690..2dc0a33 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -14,7 +14,7 @@ # name: Build and Test libc++ on: - workflow_call: + workflow_dispatch: inputs: ref: description: 'ref' From 736a4b4be6457a642db337c50111e2b957ed3474 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:43:06 -0500 Subject: [PATCH 53/84] changes --- .github/workflows/label-pr.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index ec290f2..af76b20 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -5,7 +5,7 @@ permissions: on: pull_request_review: - types: [submitted] + types: [submitted, edited, dismissed] jobs: approved: @@ -24,5 +24,4 @@ jobs: GH_REPO: ${{ github.repository }} NUMBER: ${{ github.event.issue.number }} LABELS: libcxx-stage3-tests - - work From 26b0ad9ba3f35f54453b99f5f204c79c4005efb6 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:49:29 -0500 Subject: [PATCH 54/84] changes --- .github/workflows/label-pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index af76b20..4bd2a21 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -22,6 +22,6 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_REPO: ${{ github.repository }} - NUMBER: ${{ github.event.issue.number }} + NUMBER: ${{ github.event.pull_request.number }} LABELS: libcxx-stage3-tests From 8eb146fef27fd872f64d855ec061765073ae1205 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:51:21 -0500 Subject: [PATCH 55/84] changes --- .github/workflows/label-pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index 4bd2a21..be1f68d 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -18,7 +18,7 @@ jobs: env: GITHUB_CONTEXT: ${{ toJson(github) }} run: echo $GITHUB_CONTEXT | jq - - run: gh issue edit "$NUMBER" --add-label "$LABELS" + - run: gh pr edit "$NUMBER" --add-label "$LABELS" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_REPO: ${{ github.repository }} From f601b38ca22d23afa2adc86d95fdb1d1806b2e50 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:45:32 -0500 Subject: [PATCH 56/84] changes --- .github/workflows/callable.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index 2dc0a33..b2eb80d 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -199,5 +199,4 @@ jobs: **/CMakeError.log **/CMakeOutput.log **/crash_diagnostics/* - -# hello + From 231943b2873a471da91a4e310f6965851926a72b Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:56:20 -0500 Subject: [PATCH 57/84] changes --- .github/workflows/label-pr.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index be1f68d..ae534b4 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -8,6 +8,11 @@ on: types: [submitted, edited, dismissed] jobs: + dump: + env: + GITHUB_CONTEXT: ${{ toJson(github.event.pull_request) }} + steps: + - run: echo $GITHUB_CONTEXT | jq approved: if: github.event.review.state == 'APPROVED' permissions: @@ -18,7 +23,7 @@ jobs: env: GITHUB_CONTEXT: ${{ toJson(github) }} run: echo $GITHUB_CONTEXT | jq - - run: gh pr edit "$NUMBER" --add-label "$LABELS" + - run: gh pr edit ${{ github.event.pull_request.html_url }} --add-label "$LABELS" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_REPO: ${{ github.repository }} From 01b1750905bea09c57bf95ce7aaf143c0265afeb Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:56:56 -0500 Subject: [PATCH 58/84] changes --- .github/workflows/label-pr.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index ae534b4..5b4c08e 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -8,6 +8,7 @@ on: types: [submitted, edited, dismissed] jobs: + # hello dump: env: GITHUB_CONTEXT: ${{ toJson(github.event.pull_request) }} From 219f1740a49cc5f14831325966f7e566fcf781ba Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:58:35 -0500 Subject: [PATCH 59/84] changes --- .github/workflows/label-pr.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index 5b4c08e..dcfebaf 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -10,10 +10,12 @@ on: jobs: # hello dump: - env: - GITHUB_CONTEXT: ${{ toJson(github.event.pull_request) }} + runs-on: self-hosted steps: - - run: echo $GITHUB_CONTEXT | jq + - name: foobar + env: + GITHUB_CONTEXT2: ${{ toJson(github.event.pull_request) }} + run: echo $GITHUB_CONTEXT2 | jq approved: if: github.event.review.state == 'APPROVED' permissions: From 77950ee6b782a6c216fec933ec61636cebf08d14 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:00:25 -0500 Subject: [PATCH 60/84] changes --- .github/workflows/label-pr.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index dcfebaf..9d22903 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -20,6 +20,7 @@ jobs: if: github.event.review.state == 'APPROVED' permissions: issues: write + pull-requests: write runs-on: self-hosted steps: - name: foobar From 189558fe8f33ce3ee7e797eef78601e99a10563c Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:44:41 -0500 Subject: [PATCH 61/84] changes --- .github/workflows/email-test2.yaml | 2 +- .github/workflows/label-pr.yaml | 2 +- get-email/main.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 4bb3945..9320035 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -41,7 +41,7 @@ jobs: PULL_REQUEST_COMMITS_HREF: ${{ github.event.pull_request._links.commits.href }} run-on-success: # Check if the PR has label libcxx-stage3-tests - if: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'libcxx-stage3-tests') }} + if: contains(github.event.pull_request.labels.*.name, 'libcxx-stage3-tests') needs: [ run ] runs-on: [ small ] steps: diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index 9d22903..f742c18 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -29,7 +29,7 @@ jobs: run: echo $GITHUB_CONTEXT | jq - run: gh pr edit ${{ github.event.pull_request.html_url }} --add-label "$LABELS" env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.token }} GH_REPO: ${{ github.repository }} NUMBER: ${{ github.event.pull_request.number }} LABELS: libcxx-stage3-tests diff --git a/get-email/main.py b/get-email/main.py index 1df9a36..db9e3bd 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -25,7 +25,7 @@ def get_commits(): headers = { 'Accept': 'application/vnd.github+json', - 'Authorization': '', + 'Authorization': 'Bearer ', 'X-GitHub-Api-Version': '2022-11-28' } rich.print(os.environ['PULL_REQUEST_COMMITS_HREF']) @@ -66,7 +66,7 @@ class CheckRun(BaseModel): def main(): rich.print(os.environ) rich.print(context) - get_commits() + rich.print(get_commits()) if __name__ == "__main__": From 8b26c7a21820e782a664c67a12c932b64ad8fe16 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:50:52 -0500 Subject: [PATCH 62/84] changes --- .github/workflows/label-pr.yaml | 5 +++-- get-email/main.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index f742c18..feca2a8 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -26,10 +26,11 @@ jobs: - name: foobar env: GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo $GITHUB_CONTEXT | jq + TOKEN: ${{ github.token }} + run: echo $GITHUB_CONTEXT | jq && echo $TOKEN - run: gh pr edit ${{ github.event.pull_request.html_url }} --add-label "$LABELS" env: - GITHUB_TOKEN: ${{ secrets.token }} + GITHUB_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} NUMBER: ${{ github.event.pull_request.number }} LABELS: libcxx-stage3-tests diff --git a/get-email/main.py b/get-email/main.py index db9e3bd..99993ad 100644 --- a/get-email/main.py +++ b/get-email/main.py @@ -25,7 +25,7 @@ def get_commits(): headers = { 'Accept': 'application/vnd.github+json', - 'Authorization': 'Bearer ', + 'Authorization': 'Bearer {}'.format(os.environ['GITHUB_TOKEN']), 'X-GitHub-Api-Version': '2022-11-28' } rich.print(os.environ['PULL_REQUEST_COMMITS_HREF']) From 572df339c1eca3e9c6520c25af3995503919f724 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:52:34 -0500 Subject: [PATCH 63/84] changes --- .github/workflows/email-test2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 9320035..4ea6b59 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -37,7 +37,7 @@ jobs: - run: git status - run: python3 ./get-email/main.py env: - GITHUB_TOKEN: ${{ secrets.token }} + 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 From baf7a809f56e57a73295c3dd2ae4f93e0ef71da8 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:56:56 -0500 Subject: [PATCH 64/84] changes --- .github/workflows/callable.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index b2eb80d..461e90b 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -16,9 +16,10 @@ name: Build and Test libc++ on: workflow_dispatch: inputs: - ref: - description: 'ref' + llvm_ref: + description: 'llvm ref' required: true + type: str run_stages: description: 'Stages to run' required: true @@ -66,7 +67,7 @@ jobs: - uses: actions/checkout@v4 with: repository: llvm/llvm-project - ref: ${{ github.event.inputs.ref }} + ref: ${{ inputs.llvm_ref }} - name: ${{ matrix.config }}.${{ matrix.cxx }} run: libcxx/utils/ci/run-buildbot ${{ matrix.config }} env: From 1f02ca36d889aea7384be1eff74fbc9efd893fd5 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:58:01 -0500 Subject: [PATCH 65/84] changes again --- .github/workflows/callable.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index 461e90b..0f884c2 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -44,7 +44,7 @@ env: jobs: stage1: - if: ${{ contains(inputs.run_stages, 1) }} + if: contains(inputs.run_stages, 1) runs-on: rizzo-runner-64-set continue-on-error: false strategy: @@ -85,7 +85,7 @@ jobs: **/CMakeOutput.log **/crash_diagnostics/* stage2: - if: ${{ contains(github.event.inputs.run_stages, 2) }} + if: contains(github.event.inputs.run_stages, 2) runs-on: rizzo-runner-64-set needs: [ stage1 ] continue-on-error: false @@ -134,7 +134,7 @@ jobs: **/CMakeOutput.log **/crash_diagnostics/* stage3: - if: ${{ contains(github.event.inputs.run_stages, 3) }} + if: contains(github.event.inputs.run_stages, 3) needs: [ stage1, stage2 ] continue-on-error: false strategy: From 7624b58fe767032519b4296ed55372cb6fb8a922 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:59:15 -0500 Subject: [PATCH 66/84] changes again --- .github/workflows/callable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index 0f884c2..84f66e2 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -12,7 +12,7 @@ # 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 # -name: Build and Test libc++ + on: workflow_dispatch: inputs: From 6437137a9e845cddaaba754c80a9cf2bf8ca56e0 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:20:36 -0500 Subject: [PATCH 67/84] changes --- .github/workflows/callable.yaml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index 84f66e2..f297a79 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -19,7 +19,6 @@ on: llvm_ref: description: 'llvm ref' required: true - type: str run_stages: description: 'Stages to run' required: true @@ -29,18 +28,6 @@ on: -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: From ac9233c9e38e55817ebf273dddb1b73d06f36391 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:25:09 -0500 Subject: [PATCH 68/84] changes --- .github/workflows/callable.yaml | 68 +++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index f297a79..3e08110 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -19,19 +19,40 @@ on: llvm_ref: description: 'llvm ref' required: true - run_stages: + type: string + run_stage1: description: 'Stages to run' - required: true - default: [1, 2, 3] + 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: contains(inputs.run_stages, 1) + if: ${{ inputs.run_stage1 }} runs-on: rizzo-runner-64-set continue-on-error: false strategy: @@ -42,7 +63,7 @@ jobs: 'generic-cxx26', 'generic-modules' ] - cc: [ 'clang-18' ] + cc: [ 'clang-18' ] cxx: [ 'clang++-18' ] clang_tidy: [ 'ON' ] include: @@ -72,7 +93,7 @@ jobs: **/CMakeOutput.log **/crash_diagnostics/* stage2: - if: contains(github.event.inputs.run_stages, 2) + if: ${{ inputs.run_stage1 }} && ${{ inputs.run_stage2 }} runs-on: rizzo-runner-64-set needs: [ stage1 ] continue-on-error: false @@ -121,7 +142,7 @@ jobs: **/CMakeOutput.log **/crash_diagnostics/* stage3: - if: contains(github.event.inputs.run_stages, 3) + if: inputs.run_stage3 needs: [ stage1, stage2 ] continue-on-error: false strategy: @@ -151,22 +172,22 @@ jobs: 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' + - 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 @@ -187,4 +208,3 @@ jobs: **/CMakeError.log **/CMakeOutput.log **/crash_diagnostics/* - From e4187bdb48e56fbf88047c3ea3b1505560fcdf5f Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Tue, 28 Nov 2023 20:11:33 -0500 Subject: [PATCH 69/84] changes --- .github/workflows/callable.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index 3e08110..fb4863e 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -125,6 +125,9 @@ jobs: 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: @@ -191,6 +194,9 @@ jobs: 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: From f23365ddcaae225745b42bc8be6de405b097a911 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 29 Nov 2023 09:07:12 -0500 Subject: [PATCH 70/84] change --- .github/workflows/check-run-complete.yaml | 21 +++++++++++++++++++++ .github/workflows/email-test2.yaml | 4 ++-- .github/workflows/label-pr.yaml | 4 ++-- 3 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/check-run-complete.yaml diff --git a/.github/workflows/check-run-complete.yaml b/.github/workflows/check-run-complete.yaml new file mode 100644 index 0000000..514517a --- /dev/null +++ b/.github/workflows/check-run-complete.yaml @@ -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 diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 4ea6b59..6dc7a1e 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -7,7 +7,7 @@ permissions: jobs: run: - runs-on: [ small ] + runs-on: [ rizzo-runner-1-set ] steps: - uses: actions/checkout@v4 with: @@ -43,7 +43,7 @@ jobs: # Check if the PR has label libcxx-stage3-tests if: contains(github.event.pull_request.labels.*.name, 'libcxx-stage3-tests') needs: [ run ] - runs-on: [ small ] + runs-on: [ rizzo-runner-1-set ] steps: - run: | echo "The name of the pusher: ${{ github.event.pusher.name }}" diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index feca2a8..12b1bff 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -10,7 +10,7 @@ on: jobs: # hello dump: - runs-on: self-hosted + runs-on: rizzo-runner-1-set steps: - name: foobar env: @@ -21,7 +21,7 @@ jobs: permissions: issues: write pull-requests: write - runs-on: self-hosted + runs-on: rizzo-runner-1-set steps: - name: foobar env: From 71d25ac1002b7de894d1a616a20fc83c8ad4028d Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 29 Nov 2023 11:30:45 -0500 Subject: [PATCH 71/84] changes --- .github/workflows/email-test2.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 6dc7a1e..db5271e 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -18,9 +18,7 @@ jobs: 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: | - echo "The name of the pusher: ${{ github.event.pusher.name }}" - echo "The email of the pusher: ${{ github.event.pusher.email }}" + run: sudo docker ps - run: | curl -L \ -H "Accept: application/vnd.github+json" \ From 82d6c0da9c34510fcc71ab03cf4fe9520080afe0 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 29 Nov 2023 13:21:12 -0500 Subject: [PATCH 72/84] changes --- .github/workflows/email-test2.yaml | 2 +- .github/workflows/label-pr.yaml | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index db5271e..9d24d7f 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -7,7 +7,7 @@ permissions: jobs: run: - runs-on: [ rizzo-runner-1-set ] + runs-on: self-hosted steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index 12b1bff..d569d51 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -10,7 +10,7 @@ on: jobs: # hello dump: - runs-on: rizzo-runner-1-set + runs-on: self-hosted steps: - name: foobar env: @@ -21,7 +21,8 @@ jobs: permissions: issues: write pull-requests: write - runs-on: rizzo-runner-1-set + runs-on: + group: rizzo-runner-1-set steps: - name: foobar env: From d2df971b0385958ca77a0de84477e622cf064318 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 29 Nov 2023 13:31:58 -0500 Subject: [PATCH 73/84] changes --- .github/workflows/email-test2.yaml | 2 +- .github/workflows/label-pr.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 9d24d7f..cf7f222 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -7,7 +7,7 @@ permissions: jobs: run: - runs-on: self-hosted + runs-on: rizzo-runner-1-set steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index d569d51..e20ff97 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -10,7 +10,7 @@ on: jobs: # hello dump: - runs-on: self-hosted + runs-on: rizzo-runner-1-set steps: - name: foobar env: From 59f031ab592c7fcff89f4f07cedc4699df2adef6 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Wed, 29 Nov 2023 14:48:15 -0500 Subject: [PATCH 74/84] working again --- .github/workflows/email-test2.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index cf7f222..5821cdb 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -7,7 +7,7 @@ permissions: jobs: run: - runs-on: rizzo-runner-1-set + runs-on: rizzo-runner-11-set steps: - uses: actions/checkout@v4 with: @@ -41,7 +41,7 @@ jobs: # 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-1-set ] + runs-on: rizzo-runner-11-set steps: - run: | echo "The name of the pusher: ${{ github.event.pusher.name }}" From 8a3db52892efe74116e5d68092eba80f41d524c4 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:43:09 -0500 Subject: [PATCH 75/84] changes --- .github/workflows/callable.yaml | 30 ++++++++++++++++++++++++++---- .github/workflows/email-test2.yaml | 2 +- .github/workflows/label-pr.yaml | 2 +- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/.github/workflows/callable.yaml b/.github/workflows/callable.yaml index 3e08110..d6b233c 100644 --- a/.github/workflows/callable.yaml +++ b/.github/workflows/callable.yaml @@ -16,10 +16,31 @@ on: workflow_dispatch: inputs: - llvm_ref: - description: 'llvm ref' - required: true + 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 @@ -53,7 +74,8 @@ env: jobs: stage1: if: ${{ inputs.run_stage1 }} - runs-on: rizzo-runner-64-set + runs-on: + group: ${{ inputs.runner-group }} continue-on-error: false strategy: fail-fast: true diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 5821cdb..878a922 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -7,7 +7,7 @@ permissions: jobs: run: - runs-on: rizzo-runner-11-set + runs-on: [ self-hosted ] steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index e20ff97..d569d51 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -10,7 +10,7 @@ on: jobs: # hello dump: - runs-on: rizzo-runner-1-set + runs-on: self-hosted steps: - name: foobar env: From 4798d7c496b75ba3db9f062f71fed6b93642a069 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:44:18 -0500 Subject: [PATCH 76/84] changes --- .github/workflows/email-test2.yaml | 3 ++- .github/workflows/label-pr.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 878a922..8442180 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -7,7 +7,8 @@ permissions: jobs: run: - runs-on: [ self-hosted ] + runs-on: + group: default steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/label-pr.yaml b/.github/workflows/label-pr.yaml index d569d51..5f0028e 100644 --- a/.github/workflows/label-pr.yaml +++ b/.github/workflows/label-pr.yaml @@ -10,7 +10,8 @@ on: jobs: # hello dump: - runs-on: self-hosted + runs-on: + group: default steps: - name: foobar env: From 251df3fd748fb42aa765802d9503f5d17fd7a942 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:42:45 -0500 Subject: [PATCH 77/84] changes --- .github/workflows/email-test2.yaml | 3 +- configure/action.yaml | 49 ++++++++++++++++++++++++++++++ docker/Dockerfile | 2 +- docker/docker-compose.yml | 2 +- 4 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 configure/action.yaml diff --git a/.github/workflows/email-test2.yaml b/.github/workflows/email-test2.yaml index 8442180..c9d269a 100644 --- a/.github/workflows/email-test2.yaml +++ b/.github/workflows/email-test2.yaml @@ -7,8 +7,7 @@ permissions: jobs: run: - runs-on: - group: default + runs-on: rizzo-runner-1-set steps: - uses: actions/checkout@v4 with: diff --git a/configure/action.yaml b/configure/action.yaml new file mode 100644 index 0000000..e2940e1 --- /dev/null +++ b/configure/action.yaml @@ -0,0 +1,49 @@ +name: 'Configure the runtimes build' +description: 'Match strings against paths in diff for origin/main and current SHA' + +inputs: + source: + description: 'the source root' + required: false + default: . + build: + description: 'the build root' + required: false + default: build + install: + description: 'the install root' + required: false + default: install + cc: + description: 'C compiler' + required: true + cxx: + description: 'C++ compiler' + required: true + cmake: + description: 'cmake' + required: false + default: /opt/bin/cmake + ninja: + description: 'ninja' + required: false + default: /opt/bin/ninja + runtimes: + description: 'projects to build' + required: false + default: 'libcxx;libcxxabi' + cmake_args: + description: 'cmake arguments' + required: false + default: '' + +runs: + using: "composite" + + steps: + - run: echo "${{ github.action_path }}" >> $GITHUB_PATH + shell: bash + - run: echo GITHUB_TOKEN=${{ inputs.token }} >> $GITHUB_ENV + shell: bash + - run: source ~/venv/bin/activate && python3 ${{ github.action_path }}/main.py ${{ inputs.test_results }} + shell: bash diff --git a/docker/Dockerfile b/docker/Dockerfile index c1054a0..f4d89a3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/libcxx/actions-builder:testing AS base +FROM gcr.io/libcxx-buildbots/actions-runner:testing AS base RUN sudo apt update && sudo apt-get install -y --no-install-recommends jq python3-pip python3-venv python3-dev python3-full \ && sudo apt-get clean && sudo rm -rf /var/lib/apt/lists/* diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index d0ede12..8826ae9 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -3,5 +3,5 @@ services: build: context: . dockerfile: Dockerfile - image: ghcr.io/efcs/efcs-runner:latest + image: gcr.io/libcxx-buildbots/efcs-runner:latest container_name: efcs-runner From 7403d906048d5f2b780c1d6e57d86ae088827dec Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 02:59:23 -0500 Subject: [PATCH 78/84] changes --- .github/workflows/call2.yaml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/call2.yaml diff --git a/.github/workflows/call2.yaml b/.github/workflows/call2.yaml new file mode 100644 index 0000000..c916c0e --- /dev/null +++ b/.github/workflows/call2.yaml @@ -0,0 +1,34 @@ +# 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: string + + + + + +jobs: + stage1: + runs-on: ${{ inputs.machine }} + steps: + - name: FooBar + run: echo hello From 664661c642bbaa2f7bee08ae3c15ed1a71401325 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 03:32:39 -0500 Subject: [PATCH 79/84] changes --- .github/workflows/call2.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/call2.yaml b/.github/workflows/call2.yaml index c916c0e..aa4bad1 100644 --- a/.github/workflows/call2.yaml +++ b/.github/workflows/call2.yaml @@ -21,6 +21,11 @@ on: required: false default: libcxx-runners-8 type: string + cmd: + description: 'cmd' + required: false + default: echo hello + type: string @@ -31,4 +36,4 @@ jobs: runs-on: ${{ inputs.machine }} steps: - name: FooBar - run: echo hello + run: ${{ inputs.cmd }} From 4aba1e9ced70f17df05ab75c5074f34108601957 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:05:47 -0500 Subject: [PATCH 80/84] changes --- .github/workflows/call2.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/call2.yaml b/.github/workflows/call2.yaml index aa4bad1..45636d6 100644 --- a/.github/workflows/call2.yaml +++ b/.github/workflows/call2.yaml @@ -37,3 +37,12 @@ jobs: 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 + From 04a9e513ebc8ff69c3d68b23554e3055aa7953b6 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:07:49 -0500 Subject: [PATCH 81/84] changes --- .github/workflows/call2.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/call2.yaml b/.github/workflows/call2.yaml index 45636d6..e5d2fa2 100644 --- a/.github/workflows/call2.yaml +++ b/.github/workflows/call2.yaml @@ -26,7 +26,11 @@ on: required: false default: echo hello type: string - + image: + description: 'image' + required: false + default: ubuntu:latest + type: string From efb510331771092136a56ca8840fd93e127a5ca1 Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:08:50 -0500 Subject: [PATCH 82/84] changes --- .github/workflows/call2.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/call2.yaml b/.github/workflows/call2.yaml index e5d2fa2..53dc27e 100644 --- a/.github/workflows/call2.yaml +++ b/.github/workflows/call2.yaml @@ -20,7 +20,11 @@ on: description: 'machine' required: false default: libcxx-runners-8 - type: string + type: choice + choices: + - rizzo-runner-8-set + - rizzo-runner-dd-set + - rizzo-runner-1-set cmd: description: 'cmd' required: false From 6c9af1bfc0490ece52278f81c61eeeef023df14b Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:09:31 -0500 Subject: [PATCH 83/84] changes --- .github/workflows/call2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/call2.yaml b/.github/workflows/call2.yaml index 53dc27e..cd89c42 100644 --- a/.github/workflows/call2.yaml +++ b/.github/workflows/call2.yaml @@ -21,7 +21,7 @@ on: required: false default: libcxx-runners-8 type: choice - choices: + options: - rizzo-runner-8-set - rizzo-runner-dd-set - rizzo-runner-1-set From 9c939170ecbd31b66686001ceca537fd1a2acb9f Mon Sep 17 00:00:00 2001 From: eric <1176427+EricWF@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:10:23 -0500 Subject: [PATCH 84/84] changes --- .github/workflows/call2.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/call2.yaml b/.github/workflows/call2.yaml index cd89c42..0022115 100644 --- a/.github/workflows/call2.yaml +++ b/.github/workflows/call2.yaml @@ -46,11 +46,11 @@ jobs: - 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 + runs-on: ${{ inputs.machine }} + container: + image: ${{ inputs.image }} + options: --cpus 1 --memory 2G + steps: + - name: echo hello + run: echo hello