CI: pin ghcr nmisp-test images by digest for reproducibility
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- docker, github-actions
- Ambito
- ci-cd, devops, infrastructure
Direzione di ricerca
Inizia con build-test-image.yml e ispeziona l’output del digest di build-push-action e lo step esistente di git-auto-commit-action. Poi traccia il modo in cui conda_env_test.yml utilizza i tag delle immagini, scegli uno degli approcci durevoli per il digest descritti nell’issue e verifica che i commit invariati utilizzino un riferimento immutabile all’immagine.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
build-test-image.yml publishes only floating tags:
ghcr.io/<owner>/nmisp-test:latest-2023.09ghcr.io/<owner>/nmisp-test:latest-nightly
conda_env_test.yml consumes those floating tags directly. This means a CI run on an unchanged commit can produce different test results if the image is rebuilt between runs (e.g. nightly base updates, or a Dockerfile change in a separate PR).
Suggested approach
- After
build-push-actionsucceeds, capture the resulting image digest (steps.<id>.outputs.digest). - Write the digest somewhere durable — options:
- Commit a
docker/image-digests.jsonfile via the existinggit-auto-commit-actionstep. - Or push a
:digest-<sha>tag and haveconda_env_test.ymlresolve it.
- Commit a
conda_env_test.ymlconsumes the digest (e.g.ghcr.io/...nmisp-test@sha256:…) instead of:latest-2023.09.
Why
Reproducibility: a green CI run today should be reproducible tomorrow on the same commit. Currently it isn't, because the image is mutable. Pinning by digest also surfaces image bumps as explicit commits/PRs that can be reviewed, rather than silently-changing infrastructure.
- Lingua principale
- Jupyter Notebook
- Stelle
- 12
- Fork
- 75
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di kangwonlee/nmisp
-
CI can't catch a missing Colab clone cell — add a static check (tests/test_colab_clone_cell.py)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
kangwonlee/nmisp#442 ·
-
Pedagogy: move 00_introduction/40_how_to_draw_a_circle → 06_python_advanced/80_circle_case_studyApertapedagogy
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
kangwonlee/nmisp#401 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
kangwonlee/nmisp#387 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
kangwonlee/nmisp#386 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
kangwonlee/nmisp#368 ·
Tutte le issue di kangwonlee/nmisp
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
cloudflare/terraform-provider-cloudflare#7396 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
modelcontextprotocol/python-sdk#3597 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
inu-appcenter/memorIN-backend#298 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
transitmatters/t-performance-dash#1217 ·
I maintainer di solito rispondono entro 1 giorno