Référence des sources Erlang/OTP
Clause suit la branche officielle maint-29. La révision épinglée (pin),
vérifiée, se trouve dans
references/otp-pin.cmake :
- Révision
9710673e5916164dff9616327df7de39f1aa75a9(OTP 29.1.2, commit amont daté du 2026-10-22), actualisée le 2026-10-24. - Oracle installé utilisé pour les résultats de référence (goldens) et les audits : OTP 29.1.1 / ERTS 17.1.
references/otp est un checkout ignoré par Git. Les compilations et tests
normaux utilisent des goldens appartenant au projet et n'ont besoin ni du
checkout ni d'un OTP installé. La configuration et les tests ne récupèrent ni
n'avancent jamais la référence. Les audits en direct sont optionnels, avec
-DCLAUSE_OTP_AUDITS=ON ; voir
régénération des fixtures.
Les sources d'OTP, les utilitaires copiés et les en-têtes générés par OTP n'entrent jamais dans Git. Les entrées de test commitées sont écrites localement ; les goldens commités sont des observations de ces entrées. Voir validation.
Procédure de mise à jour
À exécuter au début de tout travail dépendant d'OTP.
- Vérifier
git -C references/otp status --shortet préserver le travail local. Récupérer :git -C references/otp fetch https://github.com/erlang/otp.git refs/heads/maint-29:refs/remotes/origin/maint-29. Examinergit -C references/otp log -1 origin/maint-29et les changements depuis le pin, en particulier la grammaire, le scanner, le préprocesseur et les entrées du corpus. - Avancer en fast-forward la branche locale propre :
git merge --ff-only origin/maint-29(première installation :git switch --create maint-29 --track origin/maint-29). Utiliser des octets de checkout en LF (core.autocrlf=false) pour que les sommes de contrôle correspondent sur chaque hôte ; sur un checkout Windows existant, ne normaliser que les fichiers texte listés dans le manifeste eterl_parse.yrl, et laisser inchangées les fixtures binaires amont. - Générer l'en-tête du compilateur à partir de la même révision (depuis la
racine du projet) :
perl references/otp/erts/emulator/utils/beam_makeops -compiler -outdir references/otp/lib/compiler/src references/otp/lib/compiler/src/genop.tab. Sous Windows, ne normaliser en LF que le fichier générébeam_opcodes.hrl. - Mettre à jour le pin et vérifier chaque chemin de
tests/fixtures/parser/phase6/otp.tsv. Ne rafraîchir les empreintes qu'après avoir examiné de vrais changements amont. Sierl_parse.yrlchange, examinertests/fixtures/parser/grammar.tsv, ses fixtures etphase6/coverage.tsv; chaque production ordinaire a besoin d'un témoin mesuré. - Configurer avec
CLAUSE_OTP_AUDITS=ONetCLAUSE_OTP_SOURCE_ROOTpointant vers le checkout. Exécuter les tests d'audit ettests/compiler/patternmatch/regenerate.py --corpus all --check. Consigner la révision et les résultats ci-dessous ; signaler toute dérive au lieu de régénérer pour la masquer.
Historique du pin
Les enregistrements historiques conservent la révision sur laquelle ils ont été faits.
| Date | Événement | Révision |
|---|---|---|
| 2026-09-19 | Validation du parseur contre le tag OTP 29.1 | 751f87b703fe5948607d08e82599ce644b772e76 |
| 2026-09-28 | Passage à maint-29 ; grammaire et dix fichiers du corpus identiques | 21776803ecd11f5fa948732c0ec66b8f325dedfc |
| 2026-10-01 – 10-03 | Récupéré à nouveau avant chaque étape motifs/guards ; inchangé | identique |
| 2026-10-03 | Plan 11 step 1 : 14 tests d'audit réussis, 19 corpus reproduits | identique |
| 2026-10-14 | Actualisé vers OTP 29.1.2 : empreintes de la grammaire, du scanner, du préprocesseur et de phase6/otp.tsv inchangées (genop.tab : commentaire seulement) ; 17 tests d'audit réussis et 19 corpus reproduits avec l'oracle 29.1.1 ; révision enregistrée par les goldens d'exécutables, de lint, de programmes et d'affichage mise à jour (sorties inchangées, external_terms garde sa sortie de map dépendant de l'ordre des atomes) | d199a49a01a2079afb6f2c5c9ae047cd4555e68d |
| 2026-10-24 | Actualisé ; seuls les workflows .github/ ont changé en amont (32 fichiers), donc les entrées de la grammaire, du scanner, du préprocesseur, du corpus et de phase6/otp.tsv sont identiques octet pour octet et les audits n’ont pas été relancés ; révision enregistrée par les goldens mise à jour | 9710673e5916164dff9616327df7de39f1aa75a9 |
Clause