ci: run the tests/dincli full-GI integration suite in a separate CI job
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 52/100
Piste de recherche
Read .github/workflows/ci.yml and tests/dincli/test_integration_marker.py, then review the prerequisite changes in PR #229 and the setup used by tests/dincli/. Add a separate CI job that runs the full suite against the foundry contracts and uploads logs on failure. Done means the job reaches GIended and both named testing guides explain the job and local reproduction.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
CI never runs the tests/dincli/ full-GI integration suite. The Python job runs pytest -m "not integration" -q (.github/workflows/ci.yml:136-137), and tests/test_integration_marker.py checks that exactly that directory is excluded. As a result the suite has drifted from the foundry contracts without anyone noticing. On develop @ 740a613 it can't pass:
- Phase 1: it asserts a
proxyAdminkey, but both deploy scripts now write per-contractproxyAdmin*keys (tests/dincli/test_01_platform.py:135-137,164). - Task contracts: they are deployed from hardhat artifacts (
tests/dincli/constants.py:50). Those are the pre-foundry contracts, with no commit-reveal, rewards, seed lock or encrypted test data. - The GI phase: it never funds the reward pool, registers auditor keys, or runs the three reveal phases. It also asserts
GIendedas "23" (it's 25).
task-plan-051026-2 (PR #229, pending review) fixes the suite so it runs a complete GI on the foundry contracts. This issue tracks the follow-up: once the suite passes, run it in CI so it can't drift again.
Proposal
A separate integration job in ci.yml, kept apart from the fast Python job:
- Triggers: PRs and pushes to
developthat touchfoundry/src/**,foundry/script/**,dincli/**ortests/dincli/**. - Setup:
- Foundry, with
forge buildplusnpm ciinfoundry/. - Anvil via
foundry/anvil.sh. Its--block-time 2is what the seed-lock polling relies on. - An IPFS (kubo) daemon.
- Docker, for the sandboxed
din-workercontainers thattrain-lms,evaluateandaggregate-*spawn. - Python 3.12 with
pip install -e ..
- Foundry, with
- Run:
pytest tests/dincli/ -v -x -m integration --tb=short. Upload the dincli logs and the anvil output as artifacts when it fails. - Rollout: non-blocking (
continue-on-error) at first. Make it a required check once it has been stable for a couple of weeks. - Cost: a full GI trains 9 clients and runs auditor and aggregator jobs in containers. Measure the runtime once. If it's too slow per PR, run it on
pushtodevelopand nightly instead, and run it on PRs only when a label is set.
Acceptance
- The
integrationjob runs the full-GI suite on anvil against the foundry contracts, throughGIended. - Failures upload logs.
Developer/CONTRIBUTING.mdandDocumentation/technical/testing/dincli-testing-guide.mddescribe the job and how to reproduce it locally.
Depends on
- task-plan-051026-2 (PR #229) TP-4: the suite has to pass a complete GI first.
- Langage dominant
- Python
- Étoiles
- 4
- Forks
- 7
- Merge moyen
- 3 j 4 h
- PR mergées (30 j)
- 34
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Peut-être pris @umermjd11 l’a pris il y a 3 jours. Ouvertedocumentation good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
InfiniteZeroFoundation/DevNet#285 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Update the 25 translated organisation READMEs to match the English versionPeut-être pris @mrCabez l’a pris aujourd’hui. Ouvertegood first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
InfiniteZeroFoundation/DevNet#277 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Update the client-service guide to explain training and uploading separatelyPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
InfiniteZeroFoundation/DevNet#266 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
InfiniteZeroFoundation/DevNet#299 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Long run
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
InfiniteZeroFoundation/DevNet#298 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de InfiniteZeroFoundation/DevNet
Issues similaires
-
Admin member of a research group cannot see the HX2 allocation until they've been added to itOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 2 jours
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
developmentseed/titiler-cmr#278 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 2 jours