You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2022/07/19 10:25:41 UTC

[airflow] branch main updated: Fix PR label detection in CI (#25148)

This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 9a939150c3 Fix PR label detection in CI (#25148)
9a939150c3 is described below

commit 9a939150c3bb02180e68edcc5ba62f50a0a219f7
Author: Jarek Potiuk <ja...@polidea.com>
AuthorDate: Tue Jul 19 12:25:17 2022 +0200

    Fix PR label detection in CI (#25148)
    
    Label detection for incoming PR had few bugs:
    
    * wrong name of output was used for Build Info
    * assumption in selective checks was that PR labels are
      space separated, but they were really array formatted.
    * there was a $ typo in build-images.yaml
    
    This PR fixes all that:
    * output name and typo is corrected
    * we use ast.literal_eval now to parse the PR labels.
---
 .github/workflows/build-images.yml                 |   2 +-
 .github/workflows/ci.yml                           |   6 +-
 .../src/airflow_breeze/commands/ci_commands.py     |   5 +-
 .../src/airflow_breeze/utils/selective_checks.py   |   5 +-
 images/breeze/output-commands-hash.txt             |   2 +-
 images/breeze/output-selective-check.svg           | 100 ++++++++++-----------
 6 files changed, 62 insertions(+), 58 deletions(-)

diff --git a/.github/workflows/build-images.yml b/.github/workflows/build-images.yml
index 11413ac95b..b675e9bb43 100644
--- a/.github/workflows/build-images.yml
+++ b/.github/workflows/build-images.yml
@@ -155,7 +155,7 @@ jobs:
       - name: Selective checks
         id: selective-checks
         env:
-          PR_LABELS: "$${{ steps.get-latest-pr-labels.outputs.pull-request-labels }}"
+          PR_LABELS: "${{ steps.get-latest-pr-labels.outputs.pull-request-labels }}"
           COMMIT_REF: "${{ env.TARGET_COMMIT_SHA }}"
         run: breeze selective-check
       - name: env
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 57adeea8ec..bb13d41fcc 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -230,7 +230,7 @@ jobs:
       - name: Selective checks
         id: selective-checks
         env:
-          PR_LABELS: "${{ steps.source-run-info.outputs.pull-request-labels }}"
+          PR_LABELS: "${{ steps.source-run-info.outputs.pullRequestLabels }}"
           COMMIT_REF: "${{ github.sha }}"
         run: breeze selective-check
       # Avoid having to specify the runs-on logic every time. We use the custom
@@ -239,7 +239,7 @@ jobs:
       - name: Set runs-on
         id: set-runs-on
         env:
-          PR_LABELS: "${{ steps.source-run-info.outputs.pull-request-labels }}"
+          PR_LABELS: "${{ steps.source-run-info.outputs.pullRequestLabels }}"
         run: |
           if [[ ${PR_LABELS=} == *"use public runners"* ]]; then
             echo "Forcing running on Public Runners via `use public runners` label"
@@ -290,7 +290,7 @@ jobs:
       - name: env
         run: printenv
         env:
-          PR_LABELS: ${{ steps.get-latest-pr-labels.outputs.pull-request-labels }}
+          PR_LABELS: ${{ steps.source-run-info.outputs.pullRequestLabels }}
           GITHUB_CONTEXT: ${{ toJson(github) }}
 
   build-ci-images:
diff --git a/dev/breeze/src/airflow_breeze/commands/ci_commands.py b/dev/breeze/src/airflow_breeze/commands/ci_commands.py
index fa399fbed9..2b1b7a3f3f 100644
--- a/dev/breeze/src/airflow_breeze/commands/ci_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/ci_commands.py
@@ -14,6 +14,7 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
+import ast
 import os
 import platform
 import subprocess
@@ -243,7 +244,7 @@ def get_changed_files(commit_ref: Optional[str], dry_run: bool, verbose: bool) -
 )
 @click.option(
     '--pr-labels',
-    help="Space-separate list of labels which are valid for the PR",
+    help="Python array formatted PR labels assigned to the PR",
     default="",
     envvar="PR_LABELS",
 )
@@ -283,7 +284,7 @@ def selective_check(
         commit_ref=commit_ref,
         files=changed_files,
         default_branch=default_branch,
-        pr_labels=tuple(" ".split(pr_labels)) if pr_labels else (),
+        pr_labels=tuple(ast.literal_eval(pr_labels)) if pr_labels else (),
         github_event=github_event,
     )
     print(str(sc))
diff --git a/dev/breeze/src/airflow_breeze/utils/selective_checks.py b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
index 65ed17ad95..7672c1c816 100644
--- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
+++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
@@ -299,7 +299,10 @@ class SelectiveChecks:
             get_console().print(f"[warning]Full tests needed because event is {self._github_event}[/]")
             return True
         if FULL_TESTS_NEEDED_LABEL in self._pr_labels:
-            get_console().print(f"[warning]Full tests needed because labels are {self._pr_labels}[/]")
+            get_console().print(
+                "[warning]Full tests needed because "
+                f"label '{FULL_TESTS_NEEDED_LABEL}' is in  {self._pr_labels}[/]"
+            )
             return True
         return False
 
diff --git a/images/breeze/output-commands-hash.txt b/images/breeze/output-commands-hash.txt
index 7631c8a61f..5acbae5e3a 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -23,7 +23,7 @@ pull-prod-image:6e8467a2b8c833a392c8bdd65189363e
 regenerate-command-images:4fd2e7ecbfd6eebb18b854f3eb0f29c8
 release-prod-images:8858fe5a13989c7c65a79dc97a880928
 resource-check:0fb929ac3496dbbe97acfe99e35accd7
-selective-check:43272e6ccc8443c4303ccd092e0829f9
+selective-check:26b994bff3d703c47380a51789726deb
 self-upgrade:b5437c0a1a91533a11ee9d0a9692369c
 setup-autocomplete:355b72dee171c2fcba46fc90ac7c97b0
 shell:4680295fdd8a276d51518d29360c365c
diff --git a/images/breeze/output-selective-check.svg b/images/breeze/output-selective-check.svg
index f0d437dbb0..cf65e28d73 100644
--- a/images/breeze/output-selective-check.svg
+++ b/images/breeze/output-selective-check.svg
@@ -19,117 +19,117 @@
         font-weight: 700;
     }
 
-    .terminal-1596602645-matrix {
+    .terminal-3842717742-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-1596602645-title {
+    .terminal-3842717742-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-1596602645-r1 { fill: #c5c8c6;font-weight: bold }
-.terminal-1596602645-r2 { fill: #c5c8c6 }
-.terminal-1596602645-r3 { fill: #d0b344;font-weight: bold }
-.terminal-1596602645-r4 { fill: #868887 }
-.terminal-1596602645-r5 { fill: #68a0b3;font-weight: bold }
-.terminal-1596602645-r6 { fill: #8d7b39 }
-.terminal-1596602645-r7 { fill: #98a84b;font-weight: bold }
+    .terminal-3842717742-r1 { fill: #c5c8c6;font-weight: bold }
+.terminal-3842717742-r2 { fill: #c5c8c6 }
+.terminal-3842717742-r3 { fill: #d0b344;font-weight: bold }
+.terminal-3842717742-r4 { fill: #868887 }
+.terminal-3842717742-r5 { fill: #68a0b3;font-weight: bold }
+.terminal-3842717742-r6 { fill: #8d7b39 }
+.terminal-3842717742-r7 { fill: #98a84b;font-weight: bold }
     </style>
 
     <defs>
-    <clipPath id="terminal-1596602645-clip-terminal">
+    <clipPath id="terminal-3842717742-clip-terminal">
       <rect x="0" y="0" width="1463.0" height="462.59999999999997" />
     </clipPath>
-    <clipPath id="terminal-1596602645-line-0">
+    <clipPath id="terminal-3842717742-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-1">
+<clipPath id="terminal-3842717742-line-1">
     <rect x="0" y="25.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-2">
+<clipPath id="terminal-3842717742-line-2">
     <rect x="0" y="50.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-3">
+<clipPath id="terminal-3842717742-line-3">
     <rect x="0" y="74.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-4">
+<clipPath id="terminal-3842717742-line-4">
     <rect x="0" y="99.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-5">
+<clipPath id="terminal-3842717742-line-5">
     <rect x="0" y="123.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-6">
+<clipPath id="terminal-3842717742-line-6">
     <rect x="0" y="147.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-7">
+<clipPath id="terminal-3842717742-line-7">
     <rect x="0" y="172.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-8">
+<clipPath id="terminal-3842717742-line-8">
     <rect x="0" y="196.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-9">
+<clipPath id="terminal-3842717742-line-9">
     <rect x="0" y="221.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-10">
+<clipPath id="terminal-3842717742-line-10">
     <rect x="0" y="245.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-11">
+<clipPath id="terminal-3842717742-line-11">
     <rect x="0" y="269.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-12">
+<clipPath id="terminal-3842717742-line-12">
     <rect x="0" y="294.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-13">
+<clipPath id="terminal-3842717742-line-13">
     <rect x="0" y="318.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-14">
+<clipPath id="terminal-3842717742-line-14">
     <rect x="0" y="343.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-15">
+<clipPath id="terminal-3842717742-line-15">
     <rect x="0" y="367.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-16">
+<clipPath id="terminal-3842717742-line-16">
     <rect x="0" y="391.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-1596602645-line-17">
+<clipPath id="terminal-3842717742-line-17">
     <rect x="0" y="416.3" width="1464" height="24.65"/>
             </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="511.6" rx="8"/><text class="terminal-1596602645-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;selective-check</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="511.6" rx="8"/><text class="terminal-3842717742-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;selective-check</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" clip-path="url(#terminal-1596602645-clip-terminal)">
+    <g transform="translate(9, 41)" clip-path="url(#terminal-3842717742-clip-terminal)">
     
-    <g class="terminal-1596602645-matrix">
-    <text class="terminal-1596602645-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-1596602645-line-0)">
-</text><text class="terminal-1596602645-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-1596602645-line-1)">Usage:&#160;</text><text class="terminal-1596602645-r1" x="97.6" y="44.4" textLength="390.4" clip-path="url(#terminal-1596602645-line-1)">breeze&#160;selective-check&#160;[OPTIONS]</text><text class="terminal-1596602645-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-1596602645-line-1)">
-</text><text class="terminal-1596602645-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-1596602645-line-2)">
-</text><text class="terminal-1596602645-r2" x="12.2" y="93.2" textLength="768.6" clip-path="url(#terminal-1596602645-line-3)">Checks&#160;what&#160;kind&#160;of&#160;tests&#160;should&#160;be&#160;run&#160;for&#160;an&#160;incoming&#160;commit.</text><text class="terminal-1596602645-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-1596602645-line-3)">
-</text><text class="terminal-1596602645-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-1596602645-line-4)">
-</text><text class="terminal-1596602645-r4" x="0" y="142" textLength="24.4" clip-path="url(#terminal-1596602645-line-5)">╭─</text><text class="terminal-1596602645-r4" x="24.4" y="142" textLength="1415.2" clip-path="url(#terminal-1596602645-line-5)">&#160;Selective&#160;check&#160;flags&#160;─────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-1596602645-r4" x="1439.6" y="142" textLength="24.4" clip-path="url(#terminal-1 [...]
-</text><text class="terminal-1596602645-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-1596602645-line-6)">│</text><text class="terminal-1596602645-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#terminal-1596602645-line-6)">-</text><text class="terminal-1596602645-r5" x="36.6" y="166.4" textLength="85.4" clip-path="url(#terminal-1596602645-line-6)">-commit</text><text class="terminal-1596602645-r5" x="122" y="166.4" textLength="48.8" clip-path="url(#terminal-159 [...]
-</text><text class="terminal-1596602645-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-1596602645-line-7)">│</text><text class="terminal-1596602645-r5" x="24.4" y="190.8" textLength="12.2" clip-path="url(#terminal-1596602645-line-7)">-</text><text class="terminal-1596602645-r5" x="36.6" y="190.8" textLength="36.6" clip-path="url(#terminal-1596602645-line-7)">-pr</text><text class="terminal-1596602645-r5" x="73.2" y="190.8" textLength="85.4" clip-path="url(#terminal-159660 [...]
-</text><text class="terminal-1596602645-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-1596602645-line-8)">│</text><text class="terminal-1596602645-r5" x="24.4" y="215.2" textLength="12.2" clip-path="url(#terminal-1596602645-line-8)">-</text><text class="terminal-1596602645-r5" x="36.6" y="215.2" textLength="97.6" clip-path="url(#terminal-1596602645-line-8)">-default</text><text class="terminal-1596602645-r5" x="134.2" y="215.2" textLength="85.4" clip-path="url(#terminal- [...]
-</text><text class="terminal-1596602645-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-1596602645-line-9)">│</text><text class="terminal-1596602645-r5" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-1596602645-line-9)">-</text><text class="terminal-1596602645-r5" x="36.6" y="239.6" textLength="85.4" clip-path="url(#terminal-1596602645-line-9)">-github</text><text class="terminal-1596602645-r5" x="122" y="239.6" textLength="134.2" clip-path="url(#terminal-15 [...]
-</text><text class="terminal-1596602645-r4" x="0" y="264" textLength="12.2" clip-path="url(#terminal-1596602645-line-10)">│</text><text class="terminal-1596602645-r6" x="305" y="264" textLength="1134.6" clip-path="url(#terminal-1596602645-line-10)">(pull_request&#160;|&#160;pull_request_review&#160;|&#160;pull_request_target&#160;|&#160;pull_request_workflow&#160;|&#160;push&#160;|&#160;&#160;&#160;</text><text class="terminal-1596602645-r4" x="1451.8" y="264" textLength="12.2" clip-path [...]
-</text><text class="terminal-1596602645-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-1596602645-line-11)">│</text><text class="terminal-1596602645-r6" x="305" y="288.4" textLength="1134.6" clip-path="url(#terminal-1596602645-line-11)">schedule&#160;|&#160;workflow_dispatch&#160;|&#160;workflow_run)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
-</text><text class="terminal-1596602645-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-1596602645-line-12)">│</text><text class="terminal-1596602645-r4" x="305" y="312.8" textLength="1134.6" clip-path="url(#terminal-1596602645-line-12)">[default:&#160;pull_request]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
-</text><text class="terminal-1596602645-r4" x="0" y="337.2" textLength="1464" clip-path="url(#terminal-1596602645-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-1596602645-r2" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-1596602645-line-13)">
-</text><text class="terminal-1596602645-r4" x="0" y="361.6" textLength="24.4" clip-path="url(#terminal-1596602645-line-14)">╭─</text><text class="terminal-1596602645-r4" x="24.4" y="361.6" textLength="1415.2" clip-path="url(#terminal-1596602645-line-14)">&#160;Options&#160;───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-1596602645-r4" x="1439.6" y="361.6" textLength="24.4" clip-path="url(#terminal-159 [...]
-</text><text class="terminal-1596602645-r4" x="0" y="386" textLength="12.2" clip-path="url(#terminal-1596602645-line-15)">│</text><text class="terminal-1596602645-r5" x="24.4" y="386" textLength="12.2" clip-path="url(#terminal-1596602645-line-15)">-</text><text class="terminal-1596602645-r5" x="36.6" y="386" textLength="97.6" clip-path="url(#terminal-1596602645-line-15)">-verbose</text><text class="terminal-1596602645-r7" x="158.6" y="386" textLength="24.4" clip-path="url(#terminal-15966 [...]
-</text><text class="terminal-1596602645-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-1596602645-line-16)">│</text><text class="terminal-1596602645-r5" x="24.4" y="410.4" textLength="12.2" clip-path="url(#terminal-1596602645-line-16)">-</text><text class="terminal-1596602645-r5" x="36.6" y="410.4" textLength="48.8" clip-path="url(#terminal-1596602645-line-16)">-dry</text><text class="terminal-1596602645-r5" x="85.4" y="410.4" textLength="48.8" clip-path="url(#terminal-15 [...]
-</text><text class="terminal-1596602645-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-1596602645-line-17)">│</text><text class="terminal-1596602645-r5" x="24.4" y="434.8" textLength="12.2" clip-path="url(#terminal-1596602645-line-17)">-</text><text class="terminal-1596602645-r5" x="36.6" y="434.8" textLength="61" clip-path="url(#terminal-1596602645-line-17)">-help</text><text class="terminal-1596602645-r7" x="158.6" y="434.8" textLength="24.4" clip-path="url(#terminal-15 [...]
-</text><text class="terminal-1596602645-r4" x="0" y="459.2" textLength="1464" clip-path="url(#terminal-1596602645-line-18)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-1596602645-r2" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-1596602645-line-18)">
+    <g class="terminal-3842717742-matrix">
+    <text class="terminal-3842717742-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3842717742-line-0)">
+</text><text class="terminal-3842717742-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-3842717742-line-1)">Usage:&#160;</text><text class="terminal-3842717742-r1" x="97.6" y="44.4" textLength="390.4" clip-path="url(#terminal-3842717742-line-1)">breeze&#160;selective-check&#160;[OPTIONS]</text><text class="terminal-3842717742-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-3842717742-line-1)">
+</text><text class="terminal-3842717742-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-3842717742-line-2)">
+</text><text class="terminal-3842717742-r2" x="12.2" y="93.2" textLength="768.6" clip-path="url(#terminal-3842717742-line-3)">Checks&#160;what&#160;kind&#160;of&#160;tests&#160;should&#160;be&#160;run&#160;for&#160;an&#160;incoming&#160;commit.</text><text class="terminal-3842717742-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-3842717742-line-3)">
+</text><text class="terminal-3842717742-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-3842717742-line-4)">
+</text><text class="terminal-3842717742-r4" x="0" y="142" textLength="24.4" clip-path="url(#terminal-3842717742-line-5)">╭─</text><text class="terminal-3842717742-r4" x="24.4" y="142" textLength="1415.2" clip-path="url(#terminal-3842717742-line-5)">&#160;Selective&#160;check&#160;flags&#160;─────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3842717742-r4" x="1439.6" y="142" textLength="24.4" clip-path="url(#terminal-3 [...]
+</text><text class="terminal-3842717742-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-3842717742-line-6)">│</text><text class="terminal-3842717742-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#terminal-3842717742-line-6)">-</text><text class="terminal-3842717742-r5" x="36.6" y="166.4" textLength="85.4" clip-path="url(#terminal-3842717742-line-6)">-commit</text><text class="terminal-3842717742-r5" x="122" y="166.4" textLength="48.8" clip-path="url(#terminal-384 [...]
+</text><text class="terminal-3842717742-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-3842717742-line-7)">│</text><text class="terminal-3842717742-r5" x="24.4" y="190.8" textLength="12.2" clip-path="url(#terminal-3842717742-line-7)">-</text><text class="terminal-3842717742-r5" x="36.6" y="190.8" textLength="36.6" clip-path="url(#terminal-3842717742-line-7)">-pr</text><text class="terminal-3842717742-r5" x="73.2" y="190.8" textLength="85.4" clip-path="url(#terminal-384271 [...]
+</text><text class="terminal-3842717742-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-3842717742-line-8)">│</text><text class="terminal-3842717742-r5" x="24.4" y="215.2" textLength="12.2" clip-path="url(#terminal-3842717742-line-8)">-</text><text class="terminal-3842717742-r5" x="36.6" y="215.2" textLength="97.6" clip-path="url(#terminal-3842717742-line-8)">-default</text><text class="terminal-3842717742-r5" x="134.2" y="215.2" textLength="85.4" clip-path="url(#terminal- [...]
+</text><text class="terminal-3842717742-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-3842717742-line-9)">│</text><text class="terminal-3842717742-r5" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-3842717742-line-9)">-</text><text class="terminal-3842717742-r5" x="36.6" y="239.6" textLength="85.4" clip-path="url(#terminal-3842717742-line-9)">-github</text><text class="terminal-3842717742-r5" x="122" y="239.6" textLength="134.2" clip-path="url(#terminal-38 [...]
+</text><text class="terminal-3842717742-r4" x="0" y="264" textLength="12.2" clip-path="url(#terminal-3842717742-line-10)">│</text><text class="terminal-3842717742-r6" x="305" y="264" textLength="1134.6" clip-path="url(#terminal-3842717742-line-10)">(pull_request&#160;|&#160;pull_request_review&#160;|&#160;pull_request_target&#160;|&#160;pull_request_workflow&#160;|&#160;push&#160;|&#160;&#160;&#160;</text><text class="terminal-3842717742-r4" x="1451.8" y="264" textLength="12.2" clip-path [...]
+</text><text class="terminal-3842717742-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-3842717742-line-11)">│</text><text class="terminal-3842717742-r6" x="305" y="288.4" textLength="1134.6" clip-path="url(#terminal-3842717742-line-11)">schedule&#160;|&#160;workflow_dispatch&#160;|&#160;workflow_run)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="terminal-3842717742-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-3842717742-line-12)">│</text><text class="terminal-3842717742-r4" x="305" y="312.8" textLength="1134.6" clip-path="url(#terminal-3842717742-line-12)">[default:&#160;pull_request]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="terminal-3842717742-r4" x="0" y="337.2" textLength="1464" clip-path="url(#terminal-3842717742-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3842717742-r2" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-3842717742-line-13)">
+</text><text class="terminal-3842717742-r4" x="0" y="361.6" textLength="24.4" clip-path="url(#terminal-3842717742-line-14)">╭─</text><text class="terminal-3842717742-r4" x="24.4" y="361.6" textLength="1415.2" clip-path="url(#terminal-3842717742-line-14)">&#160;Options&#160;───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3842717742-r4" x="1439.6" y="361.6" textLength="24.4" clip-path="url(#terminal-384 [...]
+</text><text class="terminal-3842717742-r4" x="0" y="386" textLength="12.2" clip-path="url(#terminal-3842717742-line-15)">│</text><text class="terminal-3842717742-r5" x="24.4" y="386" textLength="12.2" clip-path="url(#terminal-3842717742-line-15)">-</text><text class="terminal-3842717742-r5" x="36.6" y="386" textLength="97.6" clip-path="url(#terminal-3842717742-line-15)">-verbose</text><text class="terminal-3842717742-r7" x="158.6" y="386" textLength="24.4" clip-path="url(#terminal-38427 [...]
+</text><text class="terminal-3842717742-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-3842717742-line-16)">│</text><text class="terminal-3842717742-r5" x="24.4" y="410.4" textLength="12.2" clip-path="url(#terminal-3842717742-line-16)">-</text><text class="terminal-3842717742-r5" x="36.6" y="410.4" textLength="48.8" clip-path="url(#terminal-3842717742-line-16)">-dry</text><text class="terminal-3842717742-r5" x="85.4" y="410.4" textLength="48.8" clip-path="url(#terminal-38 [...]
+</text><text class="terminal-3842717742-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-3842717742-line-17)">│</text><text class="terminal-3842717742-r5" x="24.4" y="434.8" textLength="12.2" clip-path="url(#terminal-3842717742-line-17)">-</text><text class="terminal-3842717742-r5" x="36.6" y="434.8" textLength="61" clip-path="url(#terminal-3842717742-line-17)">-help</text><text class="terminal-3842717742-r7" x="158.6" y="434.8" textLength="24.4" clip-path="url(#terminal-38 [...]
+</text><text class="terminal-3842717742-r4" x="0" y="459.2" textLength="1464" clip-path="url(#terminal-3842717742-line-18)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3842717742-r2" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-3842717742-line-18)">
 </text>
     </g>
     </g>