chore(F6.1): patch presentation migration rehearsal
This commit is contained in:
@@ -0,0 +1,72 @@
|
|||||||
|
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
|
||||||
Reference in New Issue
Block a user