HT-14: PDF-lépés eltávolítva — csak HTML render
Build legal manifest / build-manifest (push) Successful in 22s

Az ÁSZF saját 3.2. pontja "megismerhető, megjeleníthető és letölthető"
szöveget kér — ezt egy önálló (külső CSS/JS-függőség nélküli) HTML oldal
is teljesíti (böngészőből menthető/nyomtatható), külön PDF-render nélkül.

Ez NEM ugyanaz, mint a HRF-33/34 ajánlat-szerződés PDF-je — az egy
ténylegesen elfogadott, hash-elt clickwrap-példány, más indokkal; azt nem
érinti ez a változás.

Egyszerűsödött CI-környezet: WeasyPrint + natív libek (pango/cairo) törölve,
csak pandoc + python3 kell. A manifest "pdf" mezője megszűnt.

A rendereletHTML immár kicsi (nincs PDF), ezért a teljes dist/ kimenet
visszacommitolódik "manifest/" néven (nem csak a JSON) — a fogyasztók
ugyanazzal a git clone-nal a HTML-t is megkapják, nem csak a metaadatot.
This commit is contained in:
Your Name
2026-07-17 14:09:34 +02:00
parent ddf2d2adac
commit c2dfc607a1
2 changed files with 32 additions and 54 deletions
+17 -37
View File
@@ -1,9 +1,9 @@
name: Build legal manifest
# HT-14: renders every project's legal markdown to HTML+PDF and produces
# HT-14: renders every project's legal markdown to HTML and produces
# dist/legal-manifest.json — the single canonical source HT-15's consumer backends import,
# so no one hashes/versions independently. See scripts/build-manifest.py for the actual
# logic; this workflow just provides the environment it needs.
# logic (and why there's no PDF step); this workflow just provides the environment it needs.
on:
push:
@@ -24,50 +24,30 @@ jobs:
fetch-depth: 0
# The CI environment: a plain ubuntu-latest job container (act_runner default image),
# with pandoc (markdown -> HTML, per HT-14) and WeasyPrint (HTML -> PDF, same
# approach already proven deterministic for ResidentFirst's HRF-34 offer contracts)
# installed as an explicit step — not baked into a custom runner image, so the
# environment stays visible and reproducible directly from this file.
- name: Install pandoc + WeasyPrint
run: |
apt-get update -qq
apt-get install -y --no-install-recommends \
pandoc python3 python3-pip python3-venv \
libpango-1.0-0 libpangoft2-1.0-0 fonts-dejavu-core
python3 -m venv /tmp/venv
/tmp/venv/bin/pip install --quiet weasyprint==69.0
echo "/tmp/venv/bin" >> "$GITHUB_PATH"
# with pandoc (markdown -> HTML, per HT-14) installed as an explicit step — not baked
# into a custom runner image, so the environment stays visible and reproducible
# directly from this file.
- name: Install pandoc
run: apt-get update -qq && apt-get install -y --no-install-recommends pandoc python3
- name: Build manifest
run: python3 scripts/build-manifest.py
# v4 uses a newer artifact-storage protocol this Gitea version doesn't implement yet
# ("GHESNotSupportedError", confirmed empirically) — v3 uses the older, supported one.
# Convenience only (manual inspection via the Actions UI) — HT-15 consumers should NOT
# depend on this: the repo-level list-artifacts API returned empty even after a
# successful v3 upload (a Gitea REST API gap, not a real absence — the run's own job
# log confirms the upload step succeeded). The commit-back step below is the real,
# dependable distribution path.
- name: Upload manifest + rendered artifacts (convenience only, see note above)
uses: actions/upload-artifact@v3
with:
name: legal-manifest
path: dist/
# The dependable distribution path for HT-15: just the small JSON manifest (not the
# bulkier rendered HTML/PDF, to avoid repo bloat over time) committed back to the repo
# consumers already git-clone for the markdown sources — no Gitea Actions artifact API
# involved at all.
- name: Commit manifest back to repo
# The rendered HTML is now small (no PDF, see build-manifest.py) — committing the
# whole dist/ output back to the repo consumers already git-clone for the markdown
# sources is cheap and avoids the Gitea Actions artifact API entirely (its repo-level
# list-artifacts endpoint returned empty even after a confirmed-successful upload in
# an earlier version of this workflow — a REST API gap, not worth depending on).
- name: Commit manifest + rendered HTML back to repo
run: |
mkdir -p manifest
cp dist/legal-manifest.json manifest/legal-manifest.json
rm -rf manifest
cp -r dist manifest
git config user.name "H2W Legal CI"
git config user.email "[email protected]"
git add manifest/legal-manifest.json
git add manifest
if git diff --cached --quiet; then
echo "Manifest változatlan — nincs mit commitolni."
else
git commit -m "CI: legal-manifest.json frissítve [skip ci]"
git commit -m "CI: legal-manifest.json + renderelt HTML frissítve [skip ci]"
git push origin HEAD:main
fi