ci: run the tests/dincli full-GI integration suite in a separate CI job
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 52/100
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 4
- Forks
- 7
- Merge médio
- 3d 5h
- PRs com merge (30d)
- 34
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Talvez já em andamento @umermjd11 assumiu há 4 dias. Abertadocumentation good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
InfiniteZeroFoundation/DevNet#285 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Update the 25 translated organisation READMEs to match the English versionTalvez já em andamento @mrCabez assumiu há 2 dias. Abertagood first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
InfiniteZeroFoundation/DevNet#277 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Update the client-service guide to explain training and uploading separatelyTalvez já em andamento @Santiagocetran assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
InfiniteZeroFoundation/DevNet#266 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Few questions related to GI2 aggregatorTalvez já em andamento @Abidoyesimze assumiu há 1 dia. Aberta
InfiniteZeroFoundation/DevNet#307 · 1 reação · 4 responsáveis ·
Mantenedores costumam responder em até 1 dia
-
bug python
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
InfiniteZeroFoundation/DevNet#306 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de InfiniteZeroFoundation/DevNet
Issues semelhantes
-
_chunk_scan_fwd launches its Triton kernel without a device guard: NaN when a model is split across GPUsTalvez já em andamento @toddwbucy assumiu hoje. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
state-spaces/mamba#1072 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
loopj/aiovantage#414 ·
Mantenedores costumam responder em até 1 dia
-
power_mismatch_deline docstring: the rear-to-total RMAD conversion has an extra bifaciality factorAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
pvlib/pvlib-python#2929 ·
Mantenedores costumam responder em até 1 dia
-
data good first issue launch-day unverified
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
BradGroux/wow-forever-mission-control#8 ·
Mantenedores costumam responder em até 1 dia
-
check bilibili falsely reports read/subtitle as broken: live_test fixture BV1GJ411x7h7 is gone (404)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Panniantong/Agent-Reach#889 ·
Mantenedores costumam responder em até 2 dias