chore(rollout): shell-style repo list parsing, quoted input values
KofTwentyTwo/ci-policy: ci / fork-guard (push) Skipped
KofTwentyTwo/ci-policy: native / fork-deny (push) Skipped
KofTwentyTwo/ci-policy: native / build-macos-0 (push) Skipped
KofTwentyTwo/ci-policy: native / build-macos-1 (push) Skipped
KofTwentyTwo/ci-policy: native / build-macos-2 (push) Skipped
KofTwentyTwo/ci-policy: native / build-macos-3 (push) Skipped
KofTwentyTwo/ci-policy: native / build-windows-4 (push) Skipped
KofTwentyTwo/ci-policy: native / build-windows-5 (push) Skipped
KofTwentyTwo/ci-policy: native / build-windows-6 (push) Skipped
KofTwentyTwo/ci-policy: native / build-windows-7 (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-8 (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-9 (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-10 (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-11 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-12 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-13 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-14 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-15 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-16 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-17 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-18 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-19 (push) Skipped
KofTwentyTwo/ci-policy: ci / Scoped workflow [workflow 487dc0a5652510eaf62e13eb643cad6de8dc2cbe] (push) Successful in 6s
KofTwentyTwo/ci-policy: native / native-result (push) Successful in 8s
KofTwentyTwo/ci-policy: ci / go-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / go-nix-1 (push) Skipped
KofTwentyTwo/ci-policy: ci / gradle-2 (push) Skipped
KofTwentyTwo/ci-policy: ci / gradle-3 (push) Skipped
KofTwentyTwo/ci-policy: ci / java-docker-4 (push) Skipped
KofTwentyTwo/ci-policy: ci / java-maven-5 (push) Skipped
KofTwentyTwo/ci-policy: ci / manifests-6 (push) Skipped
KofTwentyTwo/ci-policy: ci / nix-7 (push) Skipped
KofTwentyTwo/ci-policy: ci / node-8 (push) Skipped
KofTwentyTwo/ci-policy: ci / python-9 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-10 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-11 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-12 (push) Skipped
KofTwentyTwo/ci-policy: ci / source-config-13 (push) Skipped
KofTwentyTwo/ci-policy: ci / source-config-14 (push) Skipped
KofTwentyTwo/ci-policy: ci / source-config-15 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-1 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-2 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-3 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-4 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-5 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-6 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-7 (push) Skipped
KofTwentyTwo/ci-policy: ci / content-validate-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / standards-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / node-matrix-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / shared-pipeline (push) Skipped
KofTwentyTwo/ci-policy: ci / not-enrolled (push) Failing after 5s
KofTwentyTwo/ci-policy: ci / ci-result (push) Failing after 6s
KofTwentyTwo/ci-policy: ci / fork-guard (push) Skipped
KofTwentyTwo/ci-policy: native / fork-deny (push) Skipped
KofTwentyTwo/ci-policy: native / build-macos-0 (push) Skipped
KofTwentyTwo/ci-policy: native / build-macos-1 (push) Skipped
KofTwentyTwo/ci-policy: native / build-macos-2 (push) Skipped
KofTwentyTwo/ci-policy: native / build-macos-3 (push) Skipped
KofTwentyTwo/ci-policy: native / build-windows-4 (push) Skipped
KofTwentyTwo/ci-policy: native / build-windows-5 (push) Skipped
KofTwentyTwo/ci-policy: native / build-windows-6 (push) Skipped
KofTwentyTwo/ci-policy: native / build-windows-7 (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-8 (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-9 (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-10 (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-11 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-12 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-13 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-14 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-15 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-16 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-17 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-18 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-19 (push) Skipped
KofTwentyTwo/ci-policy: ci / Scoped workflow [workflow 487dc0a5652510eaf62e13eb643cad6de8dc2cbe] (push) Successful in 6s
KofTwentyTwo/ci-policy: native / native-result (push) Successful in 8s
KofTwentyTwo/ci-policy: ci / go-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / go-nix-1 (push) Skipped
KofTwentyTwo/ci-policy: ci / gradle-2 (push) Skipped
KofTwentyTwo/ci-policy: ci / gradle-3 (push) Skipped
KofTwentyTwo/ci-policy: ci / java-docker-4 (push) Skipped
KofTwentyTwo/ci-policy: ci / java-maven-5 (push) Skipped
KofTwentyTwo/ci-policy: ci / manifests-6 (push) Skipped
KofTwentyTwo/ci-policy: ci / nix-7 (push) Skipped
KofTwentyTwo/ci-policy: ci / node-8 (push) Skipped
KofTwentyTwo/ci-policy: ci / python-9 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-10 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-11 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-12 (push) Skipped
KofTwentyTwo/ci-policy: ci / source-config-13 (push) Skipped
KofTwentyTwo/ci-policy: ci / source-config-14 (push) Skipped
KofTwentyTwo/ci-policy: ci / source-config-15 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-1 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-2 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-3 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-4 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-5 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-6 (push) Skipped
KofTwentyTwo/ci-policy: ci / image-build-7 (push) Skipped
KofTwentyTwo/ci-policy: ci / content-validate-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / standards-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / node-matrix-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / shared-pipeline (push) Skipped
KofTwentyTwo/ci-policy: ci / not-enrolled (push) Failing after 5s
KofTwentyTwo/ci-policy: ci / ci-result (push) Failing after 6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d3389278cd
commit
1b09d2902b
2 files changed
+8
-4
No files matched your search
Binary file not shown.
+8
-4
@@ -22,7 +22,7 @@ jobs:
|
||||
uses: self:KofTwentyTwo/ci-workflows/.gitea/workflows/maven.yaml@v1
|
||||
secrets: inherit
|
||||
"""
|
||||
REMOVE = [".gitea/workflows/qrun-release.yaml", ".gitea/workflows/release-rc.yaml", ".ci.yaml"]
|
||||
REMOVE = [".gitea/workflows/qrun-release.yaml", ".gitea/workflows/release-rc.yaml", ".ci.yaml", ".gitea/workflows/qrun-next-release.yaml"]
|
||||
MESSAGE = (
|
||||
"ci: use shared ci-workflows Maven workflow\n\n"
|
||||
"Replace the platform-ci release callers with one caller of\n"
|
||||
@@ -50,7 +50,10 @@ def open_pr(repo, base=None):
|
||||
branch = BRANCH if base == api(f"/repos/{repo}")["default_branch"] else f"{BRANCH}-{base}"
|
||||
if api(f"/repos/{repo}/branches/{branch}", missing_ok=True):
|
||||
return f"branch exists (base {base})"
|
||||
caller = CALLER + (" with:\n" + "".join(f" {key}: {value}\n" for key, value in WITH.get(repo, {}).items())
|
||||
def yaml_value(value):
|
||||
"""Quote values YAML could misread (spaces, leading indicators); keep true/false/plain words bare."""
|
||||
return json.dumps(value) if " " in value or value[:1] in "&*!|>'\"%@`{[" else value
|
||||
caller = CALLER + (" with:\n" + "".join(f" {key}: {yaml_value(value)}\n" for key, value in WITH.get(repo, {}).items())
|
||||
if WITH.get(repo) else "")
|
||||
files = [{"operation": "create", "path": CALLER_PATH,
|
||||
"content": base64.b64encode(caller.encode()).decode()}]
|
||||
@@ -177,15 +180,16 @@ WITH = {} # repo -> workflow inputs, from list lines like "owner/repo publish=f
|
||||
|
||||
def main():
|
||||
action, list_file = sys.argv[1], sys.argv[2]
|
||||
import shlex
|
||||
for line in open(list_file, encoding="utf-8"):
|
||||
parts = line.split()
|
||||
parts = shlex.split(line)
|
||||
if len(parts) > 1:
|
||||
WITH[parts[0]] = dict(part.split("=", 1) for part in parts[1:])
|
||||
base = sys.argv[3] if len(sys.argv) > 3 else None
|
||||
handlers = {"open": lambda repo: open_pr(repo, base), "status": status, "merge": merge,
|
||||
"retrigger": retrigger, "pin": pin}
|
||||
handler = handlers[action]
|
||||
repos = [line.split()[0] for line in open(list_file, encoding="utf-8") if line.strip()]
|
||||
repos = [shlex.split(line)[0] for line in open(list_file, encoding="utf-8") if line.strip()]
|
||||
for repo in repos:
|
||||
try:
|
||||
print(f"{repo}: {handler(repo)}", flush=True)
|
||||
|
||||
Reference in new issue
Block a user