Skip to content

ci(content-sync): optimise images automatically in CI - #77

Merged
wab merged 2 commits into
mainfrom
ci/optimize-assets-in-ci
Jun 19, 2026
Merged

ci(content-sync): optimise images automatically in CI#77
wab merged 2 commits into
mainfrom
ci/optimize-assets-in-ci

Conversation

@wab

@wab wab commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Pourquoi

La PR #73 a poussé des avatars bruts (2–3 MB) directement sur Vercel Blob. Cause : optimize-assets n'existait à aucune étape de la CI — c'était une étape locale du flux /publish-content, contournable si le contributeur publie autrement. (Voir aussi la PR #76 qui répare les images déjà en prod.)

Cette PR ajoute l'optimisation en CI pour qu'elle tienne quel que soit le chemin de publication, dans la même logique que le garde-fou displayOrder (ne pas dépendre du jugement du contributeur).

Changements

  • feat(optimize-assets) : nouveau mode --base <ref>, miroir de celui d'upload-assets. Nécessaire car en CI l'arbre de travail est propre → --changed (diff working-tree) ne voit rien. --base scope sur les assets modifiés entre la base et HEAD. + tests (parse, resolveScope, resolveChangedPathsAgainstBase).
  • ci(content-sync) : step Optimize changed images ajouté avant l'upload Blob. Les octets optimisés sont donc ce qui part sur Blob, puis committé back sur la branche.
  • doc : docs/asset-management.md corrigé (disait « local-only — there is no CI step » — c'est maintenant faux).

Ordre des étapes CI

install → optimize (--write --base) → upload → update-urls → validate → commit-back

L'étape locale /publish-content reste en place (évite d'uploader des octets lourds) ; la CI est le filet de sécurité.

Checks

  • pnpm test ✅ (181/181, +6 nouveaux)

Note

Indépendante de #76 (fichiers disjoints). Aucune dépendance d'ordre de merge.

@github-actions

github-actions Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

🔍 Preview: https://website-1gfa8q6ab-ocobo-22231b32.vercel.app

Built from website main with content from this PR's branch.

wab added 2 commits June 19, 2026 17:47
Mirrors upload-assets' --base: scope re-encoding to assets changed
between a base ref and HEAD, since the CI working tree is clean and
--changed (working-tree diff) finds nothing there. Lets the optimizer
and uploader see the same branch asset set.
Adds an Optimize step before upload so oversized images are re-encoded
in CI regardless of how the PR was authored. The local /publish-content
optimise step still runs first; this is the safety net that was missing
when #73 shipped raw 2-3MB avatars straight to Blob. Optimised bytes are
uploaded and committed back. Doc updated to match (was 'local-only').
@wab
wab force-pushed the ci/optimize-assets-in-ci branch from c3f5c08 to 6cd5d30 Compare June 19, 2026 15:48
@wab
wab merged commit dfc0a0f into main Jun 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant