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
|
||||
|
||||
# 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 commit -m "chore(release): bump prod image к ${IMAGE_TAG}
|
||||
|
||||
Auto-generated ordinis-CI release pipeline.
|
||||
|
||||
Source: ${CI_PROJECT_URL}/-/commit/${CI_COMMIT_SHA}
|
||||
Pipeline: ${CI_PIPELINE_URL}
|
||||
Tag: ${VERSION}
|
||||
"
|
||||
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"
|
||||
git push origin "$BRANCH"
|
||||
|
||||
# 5. Create MR через GitLab API.
|
||||
# description через --data-urlencode сохраняет переносы строк.
|
||||
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)"
|
||||
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)")
|
||||
|
||||
curl -sS --fail \
|
||||
--request POST \
|
||||
|
||||
Reference in New Issue
Block a user