From d9ebcc12050823090eaa846a3801822101caa2f6 Mon Sep 17 00:00:00 2001 From: pikastech Date: Tue, 21 Jul 2026 22:22:14 +0200 Subject: [PATCH] fix: unify HWLAB PaC Gitea repository URL --- ...orm-infra-pipelines-as-code-source-artifact.test.ts | 10 ++++++++++ ...platform-infra-pipelines-as-code-source-artifact.ts | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/scripts/src/platform-infra-pipelines-as-code-source-artifact.test.ts b/scripts/src/platform-infra-pipelines-as-code-source-artifact.test.ts index 8a9ebfb5..2ec2676c 100644 --- a/scripts/src/platform-infra-pipelines-as-code-source-artifact.test.ts +++ b/scripts/src/platform-infra-pipelines-as-code-source-artifact.test.ts @@ -18,6 +18,7 @@ import { firstPacSourceArtifactDrift, inspectPacSourceEntrypoints, inspectPacServiceSelection, + hwlabPacRepositoryUrlTemplate, pacSourceArtifactSafeError, pacSourceArtifactProvenanceFromManifest, pipelineRunLabels, @@ -101,6 +102,15 @@ function runtimeInput(commit: string | null = sourceCommit): Record { + test("uses one Gitea repository URL parameter for every HWLAB Git operation", () => { + expect(["git-read-url", "gitops-read-url", "git-write-url"].map(hwlabPacRepositoryUrlTemplate)).toEqual([ + "{{ git_read_url }}", + "{{ git_read_url }}", + "{{ git_read_url }}", + ]); + expect(hwlabPacRepositoryUrlTemplate("source-branch")).toBeNull(); + }); + test("consumer service selection drift is typed partial evidence and non-blocking", () => { const result = inspectPacServiceSelection({ deployDeclarations: { source: "deploy/deploy.yaml#**.serviceId", serviceIds: ["api", "worker"] }, diff --git a/scripts/src/platform-infra-pipelines-as-code-source-artifact.ts b/scripts/src/platform-infra-pipelines-as-code-source-artifact.ts index 0df7ec7a..8d1dde40 100644 --- a/scripts/src/platform-infra-pipelines-as-code-source-artifact.ts +++ b/scripts/src/platform-infra-pipelines-as-code-source-artifact.ts @@ -1076,6 +1076,8 @@ function pipelineRunParams(binding: PacSourceArtifactBinding, desiredSpec: Recor return params.map((param) => { const name = requiredString(param.name, "Pipeline.spec.params[].name"); if (binding.consumer.sourceArtifact.renderer === "hwlab-runtime-lane") { + const repositoryUrlTemplate = hwlabPacRepositoryUrlTemplate(name); + if (repositoryUrlTemplate !== null) return { name, value: repositoryUrlTemplate }; if (name === "release-base-commit") return { name, value: "{{ body.before }}" }; if (name === "release-target") return { name, value: binding.consumer.node }; if (name === "release-consumer") return { name, value: binding.consumer.id }; @@ -1106,6 +1108,12 @@ function pipelineRunParams(binding: PacSourceArtifactBinding, desiredSpec: Recor }); } +export function hwlabPacRepositoryUrlTemplate(name: string): string | null { + return name === "git-read-url" || name === "gitops-read-url" || name === "git-write-url" + ? "{{ git_read_url }}" + : null; +} + export function pipelineRunWorkspaces(binding: PacSourceArtifactBinding, desiredSpec: Record): Record[] { if (desiredSpec.workspaces === undefined) return []; return arrayRecords(desiredSpec.workspaces, "Pipeline.spec.workspaces").map((workspace) => {