fix(ci): use printf для commit/MR description avoiding YAML literal block break
Pipeline 6815 failed instantly с 'could not find expected : at line 625' — multi-line shell strings внутри script: - | литерального блока YAML ломали parser потому что continuation lines не были indented к уровню блока (lines 625, 627-629 в column 0 — YAML видел их как new key). Fix: собрать message строкой через printf '%b' с явными \n. Однострочные shell variables — YAML парсит без проблем независимо от содержимого внутри quotes.
This commit is contained in:
+6
-25
@@ -619,35 +619,16 @@ propose-prod-image-bump:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# 4. Commit + push branch.
|
# 4. Commit + push branch.
|
||||||
|
# printf '%b' разворачивает \n в реальные newlines внутри одной shell
|
||||||
|
# строки — избегаем multi-line YAML quoting issues (literal block scalar
|
||||||
|
# ломается на unindented continuation lines).
|
||||||
git add charts/ordinis/values-prod.yaml
|
git add charts/ordinis/values-prod.yaml
|
||||||
git commit -m "chore(release): bump prod image к ${IMAGE_TAG}
|
COMMIT_MSG=$(printf '%b' "chore(release): bump prod image к ${IMAGE_TAG}\n\nAuto-generated ordinis-CI release pipeline.\n\nSource: ${CI_PROJECT_URL}/-/commit/${CI_COMMIT_SHA}\nPipeline: ${CI_PIPELINE_URL}\nTag: ${VERSION}")
|
||||||
|
git commit -m "$COMMIT_MSG"
|
||||||
Auto-generated ordinis-CI release pipeline.
|
|
||||||
|
|
||||||
Source: ${CI_PROJECT_URL}/-/commit/${CI_COMMIT_SHA}
|
|
||||||
Pipeline: ${CI_PIPELINE_URL}
|
|
||||||
Tag: ${VERSION}
|
|
||||||
"
|
|
||||||
git push origin "$BRANCH"
|
git push origin "$BRANCH"
|
||||||
|
|
||||||
# 5. Create MR через GitLab API.
|
# 5. Create MR через GitLab API.
|
||||||
# description через --data-urlencode сохраняет переносы строк.
|
MR_DESC=$(printf '%b' "Auto-generated ordinis CI release pipeline после semantic-release ${VERSION}.\n\n**Что меняется:** \`image.tag\` в \`charts/ordinis/values-prod.yaml\` → \`${IMAGE_TAG}\` (immutable SHA tag, гарантирует что ноды pull'нут именно этот digest).\n\n**Source:**\n- Ordinis commit: ${CI_PROJECT_URL}/-/commit/${CI_COMMIT_SHA}\n- Tag pipeline: ${CI_PIPELINE_URL}\n\n**Deploy после merge:** infra-pipeline auto-катит helm upgrade в \`ordinis-prod\` namespace через manual-gated \`deploy-prod\` job (как обычно).\n\n**Verify checklist:**\n- [ ] CI 'helm-lint' pipeline зелёный (validate charts)\n- [ ] После merge play 'deploy-prod' job\n- [ ] \`curl /api/v1/version\` показывает \`commit: ${CI_COMMIT_SHORT_SHA}\` и \`tag: ${VERSION}\`\n- [ ] Pods Running 2/2 на обоих writer replicas\n- [ ] Все 5 deployment'ов на одном digest (no split-brain)")
|
||||||
MR_DESC="Auto-generated ordinis CI release pipeline после semantic-release ${VERSION}.
|
|
||||||
|
|
||||||
**Что меняется:** \`image.tag\` в \`charts/ordinis/values-prod.yaml\` → \`${IMAGE_TAG}\` (immutable SHA tag, гарантирует что ноды pull'нут именно этот digest).
|
|
||||||
|
|
||||||
**Source:**
|
|
||||||
- Ordinis commit: ${CI_PROJECT_URL}/-/commit/${CI_COMMIT_SHA}
|
|
||||||
- Tag pipeline: ${CI_PIPELINE_URL}
|
|
||||||
|
|
||||||
**Deploy после merge:** infra-pipeline auto-катит helm upgrade в \`ordinis-prod\` namespace через manual-gated \`deploy-prod\` job (как обычно).
|
|
||||||
|
|
||||||
**Verify checklist:**
|
|
||||||
- [ ] CI 'helm-lint' pipeline зелёный (validate charts)
|
|
||||||
- [ ] После merge play 'deploy-prod' job
|
|
||||||
- [ ] \`curl /api/v1/version\` показывает \`commit: ${CI_COMMIT_SHORT_SHA}\` и \`tag: ${VERSION}\`
|
|
||||||
- [ ] Pods Running 2/2 на обоих writer replicas
|
|
||||||
- [ ] Все 5 deployment'ов на одном digest (no split-brain)"
|
|
||||||
|
|
||||||
curl -sS --fail \
|
curl -sS --fail \
|
||||||
--request POST \
|
--request POST \
|
||||||
|
|||||||
Reference in New Issue
Block a user