CI: pin ghcr nmisp-test images by digest for reproducibility
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- docker, github-actions
- 領域
- ci-cd, devops, infrastructure
調査の方向性
build-test-image.yml から始めて、build-push-action の digest 出力と既存の git-auto-commit-action ステップを確認します。次に、conda_env_test.yml がイメージタグをどのように使用しているかを追跡し、issue で説明されている永続的な digest アプローチのいずれかを選択して、変更されていないコミットが不変のイメージ参照を使用することを検証します。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Jupyter Notebook
- スター
- 12
- フォーク
- 75
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
kangwonlee/nmisp のほかの issue
-
CI can't catch a missing Colab clone cell — add a static check (tests/test_colab_clone_cell.py)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
kangwonlee/nmisp#442 ·
-
Pedagogy: move 00_introduction/40_how_to_draw_a_circle → 06_python_advanced/80_circle_case_studyオープンpedagogy
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
kangwonlee/nmisp#401 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
kangwonlee/nmisp#387 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
kangwonlee/nmisp#386 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
kangwonlee/nmisp#368 ·
kangwonlee/nmisp の issue をすべて見る
似ている issue
-
ADD openalgoオープンtemplate
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
technical-improvement
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 4 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
jose-compu/smart-contract-verification#26 ·
メンテナーはふだん 3 日以内に返信
-
bug infra/ci P1-next
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
snxstudio/lit-pigeon#138 ·
メンテナーはふだん 1 日以内に返信