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/21 17:23:31 UTC
[airflow] 02/12: 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 v2-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 436fe2d84877501b21e21450cf1167ec2fbd5fce
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.
(cherry picked from commit 9a939150c3bb02180e68edcc5ba62f50a0a219f7)
---
.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 | 112 ++++++++++-----------
6 files changed, 68 insertions(+), 64 deletions(-)
diff --git a/.github/workflows/build-images.yml b/.github/workflows/build-images.yml
index d21aa522e4..dc758877f7 100644
--- a/.github/workflows/build-images.yml
+++ b/.github/workflows/build-images.yml
@@ -154,7 +154,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 aa6c21fd9b..71514b8245 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 cb2d05f94d..cd9d05fa49 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
@@ -244,7 +245,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",
)
@@ -296,7 +297,7 @@ def selective_check(
default_branch=default_branch,
default_constraints_branch=default_constraints_branch,
debian_version=debian_version,
- 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 d3277e7b7e..642bb75043 100644
--- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
+++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
@@ -311,7 +311,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 e3ddc61f81..a3b911c335 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:9b1cc2827b36be29141083dc9e9f6290
+selective-check:4be1ea17278fba654761531be0e3811a
self-upgrade:b5437c0a1a91533a11ee9d0a9692369c
setup-autocomplete:355b72dee171c2fcba46fc90ac7c97b0
shell:ab7955da71048b3a695485c152d06786
diff --git a/images/breeze/output-selective-check.svg b/images/breeze/output-selective-check.svg
index 02ab2644d7..a1e143b10c 100644
--- a/images/breeze/output-selective-check.svg
+++ b/images/breeze/output-selective-check.svg
@@ -19,129 +19,129 @@
font-weight: 700;
}
- .terminal-3947339877-matrix {
+ .terminal-516398974-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3947339877-title {
+ .terminal-516398974-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3947339877-r1 { fill: #c5c8c6;font-weight: bold }
-.terminal-3947339877-r2 { fill: #c5c8c6 }
-.terminal-3947339877-r3 { fill: #d0b344;font-weight: bold }
-.terminal-3947339877-r4 { fill: #868887 }
-.terminal-3947339877-r5 { fill: #68a0b3;font-weight: bold }
-.terminal-3947339877-r6 { fill: #8d7b39 }
-.terminal-3947339877-r7 { fill: #98a84b;font-weight: bold }
+ .terminal-516398974-r1 { fill: #c5c8c6;font-weight: bold }
+.terminal-516398974-r2 { fill: #c5c8c6 }
+.terminal-516398974-r3 { fill: #d0b344;font-weight: bold }
+.terminal-516398974-r4 { fill: #868887 }
+.terminal-516398974-r5 { fill: #68a0b3;font-weight: bold }
+.terminal-516398974-r6 { fill: #8d7b39 }
+.terminal-516398974-r7 { fill: #98a84b;font-weight: bold }
</style>
<defs>
- <clipPath id="terminal-3947339877-clip-terminal">
+ <clipPath id="terminal-516398974-clip-terminal">
<rect x="0" y="0" width="1463.0" height="535.8" />
</clipPath>
- <clipPath id="terminal-3947339877-line-0">
+ <clipPath id="terminal-516398974-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-1">
+<clipPath id="terminal-516398974-line-1">
<rect x="0" y="25.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-2">
+<clipPath id="terminal-516398974-line-2">
<rect x="0" y="50.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-3">
+<clipPath id="terminal-516398974-line-3">
<rect x="0" y="74.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-4">
+<clipPath id="terminal-516398974-line-4">
<rect x="0" y="99.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-5">
+<clipPath id="terminal-516398974-line-5">
<rect x="0" y="123.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-6">
+<clipPath id="terminal-516398974-line-6">
<rect x="0" y="147.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-7">
+<clipPath id="terminal-516398974-line-7">
<rect x="0" y="172.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-8">
+<clipPath id="terminal-516398974-line-8">
<rect x="0" y="196.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-9">
+<clipPath id="terminal-516398974-line-9">
<rect x="0" y="221.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-10">
+<clipPath id="terminal-516398974-line-10">
<rect x="0" y="245.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-11">
+<clipPath id="terminal-516398974-line-11">
<rect x="0" y="269.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-12">
+<clipPath id="terminal-516398974-line-12">
<rect x="0" y="294.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-13">
+<clipPath id="terminal-516398974-line-13">
<rect x="0" y="318.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-14">
+<clipPath id="terminal-516398974-line-14">
<rect x="0" y="343.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-15">
+<clipPath id="terminal-516398974-line-15">
<rect x="0" y="367.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-16">
+<clipPath id="terminal-516398974-line-16">
<rect x="0" y="391.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-17">
+<clipPath id="terminal-516398974-line-17">
<rect x="0" y="416.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-18">
+<clipPath id="terminal-516398974-line-18">
<rect x="0" y="440.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-19">
+<clipPath id="terminal-516398974-line-19">
<rect x="0" y="465.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-3947339877-line-20">
+<clipPath id="terminal-516398974-line-20">
<rect x="0" y="489.5" 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="584.8" rx="8"/><text class="terminal-3947339877-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command: selective-check</text>
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="584.8" rx="8"/><text class="terminal-516398974-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command: 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-3947339877-clip-terminal)">
+ <g transform="translate(9, 41)" clip-path="url(#terminal-516398974-clip-terminal)">
- <g class="terminal-3947339877-matrix">
- <text class="terminal-3947339877-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3947339877-line-0)">
-</text><text class="terminal-3947339877-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-3947339877-line-1)">Usage: </text><text class="terminal-3947339877-r1" x="97.6" y="44.4" textLength="390.4" clip-path="url(#terminal-3947339877-line-1)">breeze selective-check [OPTIONS]</text><text class="terminal-3947339877-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-3947339877-line-1)">
-</text><text class="terminal-3947339877-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-3947339877-line-2)">
-</text><text class="terminal-3947339877-r2" x="12.2" y="93.2" textLength="768.6" clip-path="url(#terminal-3947339877-line-3)">Checks what kind of tests should be run for an incoming commit.</text><text class="terminal-3947339877-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-3947339877-line-3)">
-</text><text class="terminal-3947339877-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-3947339877-line-4)">
-</text><text class="terminal-3947339877-r4" x="0" y="142" textLength="24.4" clip-path="url(#terminal-3947339877-line-5)">╭─</text><text class="terminal-3947339877-r4" x="24.4" y="142" textLength="1415.2" clip-path="url(#terminal-3947339877-line-5)"> Selective check flags ─────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3947339877-r4" x="1439.6" y="142" textLength="24.4" clip-path="url(#terminal-3 [...]
-</text><text class="terminal-3947339877-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-3947339877-line-6)">│</text><text class="terminal-3947339877-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#terminal-3947339877-line-6)">-</text><text class="terminal-3947339877-r5" x="36.6" y="166.4" textLength="85.4" clip-path="url(#terminal-3947339877-line-6)">-commit</text><text class="terminal-3947339877-r5" x="122" y="166.4" textLength="48.8" clip-path="url(#terminal-394 [...]
-</text><text class="terminal-3947339877-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-3947339877-line-7)">│</text><text class="terminal-3947339877-r5" x="24.4" y="190.8" textLength="12.2" clip-path="url(#terminal-3947339877-line-7)">-</text><text class="terminal-3947339877-r5" x="36.6" y="190.8" textLength="36.6" clip-path="url(#terminal-3947339877-line-7)">-pr</text><text class="terminal-3947339877-r5" x="73.2" y="190.8" textLength="85.4" clip-path="url(#terminal-394733 [...]
-</text><text class="terminal-3947339877-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-3947339877-line-8)">│</text><text class="terminal-3947339877-r5" x="24.4" y="215.2" textLength="12.2" clip-path="url(#terminal-3947339877-line-8)">-</text><text class="terminal-3947339877-r5" x="36.6" y="215.2" textLength="97.6" clip-path="url(#terminal-3947339877-line-8)">-default</text><text class="terminal-3947339877-r5" x="134.2" y="215.2" textLength="85.4" clip-path="url(#terminal- [...]
-</text><text class="terminal-3947339877-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-3947339877-line-9)">│</text><text class="terminal-3947339877-r5" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-3947339877-line-9)">-</text><text class="terminal-3947339877-r5" x="36.6" y="239.6" textLength="85.4" clip-path="url(#terminal-3947339877-line-9)">-github</text><text class="terminal-3947339877-r5" x="122" y="239.6" textLength="134.2" clip-path="url(#terminal-39 [...]
-</text><text class="terminal-3947339877-r4" x="0" y="264" textLength="12.2" clip-path="url(#terminal-3947339877-line-10)">│</text><text class="terminal-3947339877-r6" x="305" y="264" textLength="1134.6" clip-path="url(#terminal-3947339877-line-10)">(pull_request | pull_request_review | pull_request_target | pull_request_workflow | push |   </text><text class="terminal-3947339877-r4" x="1451.8" y="264" textLength="12.2" clip-path [...]
-</text><text class="terminal-3947339877-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-3947339877-line-11)">│</text><text class="terminal-3947339877-r6" x="305" y="288.4" textLength="1134.6" clip-path="url(#terminal-3947339877-line-11)">schedule | workflow_run)                                  & [...]
-</text><text class="terminal-3947339877-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-3947339877-line-12)">│</text><text class="terminal-3947339877-r4" x="305" y="312.8" textLength="1134.6" clip-path="url(#terminal-3947339877-line-12)">[default: pull_request]                                   & [...]
-</text><text class="terminal-3947339877-r4" x="0" y="337.2" textLength="1464" clip-path="url(#terminal-3947339877-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3947339877-r2" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-3947339877-line-13)">
-</text><text class="terminal-3947339877-r4" x="0" y="361.6" textLength="24.4" clip-path="url(#terminal-3947339877-line-14)">╭─</text><text class="terminal-3947339877-r4" x="24.4" y="361.6" textLength="1415.2" clip-path="url(#terminal-3947339877-line-14)"> Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3947339877-r4" x="1439.6" y="361.6" textLength="24.4" clip-path="url(#terminal-394 [...]
-</text><text class="terminal-3947339877-r4" x="0" y="386" textLength="12.2" clip-path="url(#terminal-3947339877-line-15)">│</text><text class="terminal-3947339877-r5" x="24.4" y="386" textLength="12.2" clip-path="url(#terminal-3947339877-line-15)">-</text><text class="terminal-3947339877-r5" x="36.6" y="386" textLength="97.6" clip-path="url(#terminal-3947339877-line-15)">-default</text><text class="terminal-3947339877-r5" x="134.2" y="386" textLength="231.8" clip-path="url(#terminal-3947 [...]
-</text><text class="terminal-3947339877-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-3947339877-line-16)">│</text><text class="terminal-3947339877-r4" x="439.2" y="410.4" textLength="756.4" clip-path="url(#terminal-3947339877-line-16)">[default: constraints-main]                                  &# [...]
-</text><text class="terminal-3947339877-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-3947339877-line-17)">│</text><text class="terminal-3947339877-r5" x="24.4" y="434.8" textLength="12.2" clip-path="url(#terminal-3947339877-line-17)">-</text><text class="terminal-3947339877-r5" x="36.6" y="434.8" textLength="85.4" clip-path="url(#terminal-3947339877-line-17)">-debian</text><text class="terminal-3947339877-r5" x="122" y="434.8" textLength="97.6" clip-path="url(#terminal- [...]
-</text><text class="terminal-3947339877-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-3947339877-line-18)">│</text><text class="terminal-3947339877-r5" x="24.4" y="459.2" textLength="12.2" clip-path="url(#terminal-3947339877-line-18)">-</text><text class="terminal-3947339877-r5" x="36.6" y="459.2" textLength="97.6" clip-path="url(#terminal-3947339877-line-18)">-verbose</text><text class="terminal-3947339877-r7" x="390.4" y="459.2" textLength="24.4" clip-path="url(#termin [...]
-</text><text class="terminal-3947339877-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-3947339877-line-19)">│</text><text class="terminal-3947339877-r5" x="24.4" y="483.6" textLength="12.2" clip-path="url(#terminal-3947339877-line-19)">-</text><text class="terminal-3947339877-r5" x="36.6" y="483.6" textLength="48.8" clip-path="url(#terminal-3947339877-line-19)">-dry</text><text class="terminal-3947339877-r5" x="85.4" y="483.6" textLength="48.8" clip-path="url(#terminal-39 [...]
-</text><text class="terminal-3947339877-r4" x="0" y="508" textLength="12.2" clip-path="url(#terminal-3947339877-line-20)">│</text><text class="terminal-3947339877-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#terminal-3947339877-line-20)">-</text><text class="terminal-3947339877-r5" x="36.6" y="508" textLength="61" clip-path="url(#terminal-3947339877-line-20)">-help</text><text class="terminal-3947339877-r7" x="390.4" y="508" textLength="24.4" clip-path="url(#terminal-3947339877 [...]
-</text><text class="terminal-3947339877-r4" x="0" y="532.4" textLength="1464" clip-path="url(#terminal-3947339877-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3947339877-r2" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-3947339877-line-21)">
+ <g class="terminal-516398974-matrix">
+ <text class="terminal-516398974-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-516398974-line-0)">
+</text><text class="terminal-516398974-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-516398974-line-1)">Usage: </text><text class="terminal-516398974-r1" x="97.6" y="44.4" textLength="390.4" clip-path="url(#terminal-516398974-line-1)">breeze selective-check [OPTIONS]</text><text class="terminal-516398974-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-516398974-line-1)">
+</text><text class="terminal-516398974-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-516398974-line-2)">
+</text><text class="terminal-516398974-r2" x="12.2" y="93.2" textLength="768.6" clip-path="url(#terminal-516398974-line-3)">Checks what kind of tests should be run for an incoming commit.</text><text class="terminal-516398974-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-516398974-line-3)">
+</text><text class="terminal-516398974-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-516398974-line-4)">
+</text><text class="terminal-516398974-r4" x="0" y="142" textLength="24.4" clip-path="url(#terminal-516398974-line-5)">╭─</text><text class="terminal-516398974-r4" x="24.4" y="142" textLength="1415.2" clip-path="url(#terminal-516398974-line-5)"> Selective check flags ─────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-516398974-r4" x="1439.6" y="142" textLength="24.4" clip-path="url(#terminal-516398 [...]
+</text><text class="terminal-516398974-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-516398974-line-6)">│</text><text class="terminal-516398974-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#terminal-516398974-line-6)">-</text><text class="terminal-516398974-r5" x="36.6" y="166.4" textLength="85.4" clip-path="url(#terminal-516398974-line-6)">-commit</text><text class="terminal-516398974-r5" x="122" y="166.4" textLength="48.8" clip-path="url(#terminal-516398974- [...]
+</text><text class="terminal-516398974-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-516398974-line-7)">│</text><text class="terminal-516398974-r5" x="24.4" y="190.8" textLength="12.2" clip-path="url(#terminal-516398974-line-7)">-</text><text class="terminal-516398974-r5" x="36.6" y="190.8" textLength="36.6" clip-path="url(#terminal-516398974-line-7)">-pr</text><text class="terminal-516398974-r5" x="73.2" y="190.8" textLength="85.4" clip-path="url(#terminal-516398974-lin [...]
+</text><text class="terminal-516398974-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-516398974-line-8)">│</text><text class="terminal-516398974-r5" x="24.4" y="215.2" textLength="12.2" clip-path="url(#terminal-516398974-line-8)">-</text><text class="terminal-516398974-r5" x="36.6" y="215.2" textLength="97.6" clip-path="url(#terminal-516398974-line-8)">-default</text><text class="terminal-516398974-r5" x="134.2" y="215.2" textLength="85.4" clip-path="url(#terminal-5163989 [...]
+</text><text class="terminal-516398974-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-516398974-line-9)">│</text><text class="terminal-516398974-r5" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-516398974-line-9)">-</text><text class="terminal-516398974-r5" x="36.6" y="239.6" textLength="85.4" clip-path="url(#terminal-516398974-line-9)">-github</text><text class="terminal-516398974-r5" x="122" y="239.6" textLength="134.2" clip-path="url(#terminal-516398974 [...]
+</text><text class="terminal-516398974-r4" x="0" y="264" textLength="12.2" clip-path="url(#terminal-516398974-line-10)">│</text><text class="terminal-516398974-r6" x="305" y="264" textLength="1134.6" clip-path="url(#terminal-516398974-line-10)">(pull_request | pull_request_review | pull_request_target | pull_request_workflow | push |   </text><text class="terminal-516398974-r4" x="1451.8" y="264" textLength="12.2" clip-path="url [...]
+</text><text class="terminal-516398974-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-516398974-line-11)">│</text><text class="terminal-516398974-r6" x="305" y="288.4" textLength="1134.6" clip-path="url(#terminal-516398974-line-11)">schedule | workflow_run)                                    [...]
+</text><text class="terminal-516398974-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-516398974-line-12)">│</text><text class="terminal-516398974-r4" x="305" y="312.8" textLength="1134.6" clip-path="url(#terminal-516398974-line-12)">[default: pull_request]                                     [...]
+</text><text class="terminal-516398974-r4" x="0" y="337.2" textLength="1464" clip-path="url(#terminal-516398974-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-516398974-r2" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-516398974-line-13)">
+</text><text class="terminal-516398974-r4" x="0" y="361.6" textLength="24.4" clip-path="url(#terminal-516398974-line-14)">╭─</text><text class="terminal-516398974-r4" x="24.4" y="361.6" textLength="1415.2" clip-path="url(#terminal-516398974-line-14)"> Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-516398974-r4" x="1439.6" y="361.6" textLength="24.4" clip-path="url(#terminal-51639897 [...]
+</text><text class="terminal-516398974-r4" x="0" y="386" textLength="12.2" clip-path="url(#terminal-516398974-line-15)">│</text><text class="terminal-516398974-r5" x="24.4" y="386" textLength="12.2" clip-path="url(#terminal-516398974-line-15)">-</text><text class="terminal-516398974-r5" x="36.6" y="386" textLength="97.6" clip-path="url(#terminal-516398974-line-15)">-default</text><text class="terminal-516398974-r5" x="134.2" y="386" textLength="231.8" clip-path="url(#terminal-516398974-l [...]
+</text><text class="terminal-516398974-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-516398974-line-16)">│</text><text class="terminal-516398974-r4" x="439.2" y="410.4" textLength="756.4" clip-path="url(#terminal-516398974-line-16)">[default: constraints-main]                                    [...]
+</text><text class="terminal-516398974-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-516398974-line-17)">│</text><text class="terminal-516398974-r5" x="24.4" y="434.8" textLength="12.2" clip-path="url(#terminal-516398974-line-17)">-</text><text class="terminal-516398974-r5" x="36.6" y="434.8" textLength="85.4" clip-path="url(#terminal-516398974-line-17)">-debian</text><text class="terminal-516398974-r5" x="122" y="434.8" textLength="97.6" clip-path="url(#terminal-5163989 [...]
+</text><text class="terminal-516398974-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-516398974-line-18)">│</text><text class="terminal-516398974-r5" x="24.4" y="459.2" textLength="12.2" clip-path="url(#terminal-516398974-line-18)">-</text><text class="terminal-516398974-r5" x="36.6" y="459.2" textLength="97.6" clip-path="url(#terminal-516398974-line-18)">-verbose</text><text class="terminal-516398974-r7" x="390.4" y="459.2" textLength="24.4" clip-path="url(#terminal-5163 [...]
+</text><text class="terminal-516398974-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-516398974-line-19)">│</text><text class="terminal-516398974-r5" x="24.4" y="483.6" textLength="12.2" clip-path="url(#terminal-516398974-line-19)">-</text><text class="terminal-516398974-r5" x="36.6" y="483.6" textLength="48.8" clip-path="url(#terminal-516398974-line-19)">-dry</text><text class="terminal-516398974-r5" x="85.4" y="483.6" textLength="48.8" clip-path="url(#terminal-516398974 [...]
+</text><text class="terminal-516398974-r4" x="0" y="508" textLength="12.2" clip-path="url(#terminal-516398974-line-20)">│</text><text class="terminal-516398974-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#terminal-516398974-line-20)">-</text><text class="terminal-516398974-r5" x="36.6" y="508" textLength="61" clip-path="url(#terminal-516398974-line-20)">-help</text><text class="terminal-516398974-r7" x="390.4" y="508" textLength="24.4" clip-path="url(#terminal-516398974-line-20 [...]
+</text><text class="terminal-516398974-r4" x="0" y="532.4" textLength="1464" clip-path="url(#terminal-516398974-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-516398974-r2" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-516398974-line-21)">
</text>
</g>
</g>