Files
dh-inspeccion-v2/.github/workflows/f6-1-patch-presentation-ci.yml
T
Workflow config file is invalid. Please check your config file: resolve aliases: yaml: line 50: could not find expected ':'

73 lines
3.1 KiB
YAML

name: F6.1 patch presentation CI
on:
push:
branches:
- 'release/f6-1-presentation-territory'
paths:
- '.github/workflows/f6-1-patch-presentation-ci.yml'
permissions:
contents: write
jobs:
patch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: release/f6-1-presentation-territory
fetch-depth: 0
- name: Update clean migration rehearsal contract
run: |
python - <<'PY'
from pathlib import Path
path=Path('.github/workflows/ci.yml')
text=path.read_text()
text=text.replace(
'# F5.1 intentionally ends with zero operational/domain instances. The\n # technical family and finding masters remain, but territory preload,\n # imports, applicability links and old audits are deliberately gone.',
'# F5.1 performs the historical clean start. F6.1 then seeds only the\n # presentation territory approved by DH: 7 Departamentos, 64 Áreas,\n # 230 Yacimientos and 12 real Empresas.'
)
text=text.replace(
' territory_sources integer;\n',
' territory_sources integer;\n presentation_sources integer;\n'
)
old=""" IF domain_assets <> 0 THEN
RAISE EXCEPTION 'F5.1 clean start must contain 0 Assets, got %', domain_assets;
END IF;"""
new=""" IF domain_assets <> 313 THEN
RAISE EXCEPTION 'F6.1 presentation preload must contain 313 Assets, got %', domain_assets;
END IF;"""
if old not in text: raise SystemExit('domain asset CI contract not found')
text=text.replace(old,new)
old=""" SELECT COUNT(*) INTO territory_sources
FROM source_documents
WHERE document_number='DH-F5-TERRITORY';
IF territory_sources <> 0 THEN
RAISE EXCEPTION 'F5.1 must remove the old territory source preload, got % rows', territory_sources;
END IF;
"""
new=old+"""
SELECT COUNT(*) INTO presentation_sources
FROM source_documents
WHERE document_number='DH-F6.1-PRESENTATION-TERRITORY-20260909';
IF presentation_sources <> 1 THEN
RAISE EXCEPTION 'F6.1 must contain exactly one presentation territory source, got %', presentation_sources;
END IF;
"""
if old not in text: raise SystemExit('territory source CI contract not found')
path.write_text(text.replace(old,new))
Path('.github/workflows/f6-1-patch-presentation-ci.yml').unlink()
PY
- name: Commit CI contract
run: |
set -Eeuo pipefail
git config user.name 'github-actions[bot]'
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
git add .github/workflows/ci.yml .github/workflows/f6-1-patch-presentation-ci.yml
git diff --cached --check
git commit -m 'ci(F6.1): rehearse presentation territory baseline'
git push origin HEAD:release/f6-1-presentation-territory