ENH: standalone execution check of built notebooks

オープン
#2 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
anaconda, github-actions, jupyter, shell

調査の方向性

まず templates/cache.yml、build-jupyter-cache/action.yml、build-lectures/action.yml を読み、次に PLAN.md とリンクされている #92 Phase 3 の作業を確認します。目標は、_build/jupyter の notebooks が存在することを保証し、それぞれを pin されたコンテナ内で実行し、講義ごとの結果を報告し、失敗とアラートに関する合意済みのポリシーを設ける週次キャッシュ workflow です。

索引モデルが issue の本文から書いたものです。

説明

enhancement low-priority

A lecture can build cleanly and still break for a reader who downloads it. Benefit: match running a lecture standalone.

The gap is the artifact, not kernel isolation — jupyter-cache already isolates kernels per notebook (single_nb_execution). Download/Colab notebooks come from sphinx-tojupyter (containers/quantecon-build/environment.yml:67) via the jupyter builder (build-lectures/action.yml:104, output :126, staged to _build/html/_notebooks :71-76), and nothing here executes them, so conversion defects ship silently. Scope is executing them (PLAN.md:117); both options first floated are dated — a venv off a base anaconda image fights the pinned-as-a-set policy (PLAN.md:96-102), and the preferred jupyter-book/MyST-NB/myst-parser engine runners were never pursued upstream.

Work items

  • Weekly cache workflow (templates/cache.yml:22, 0 0 * * 0): execute each _build/jupyter/**.ipynb in the pinned container, report per-lecture pass/fail
  • Ensure notebooks exist: jupyter builds only when requested (build-jupyter-cache/action.yml:162, built :160-166) and the template ships builders: 'html' with jupyter commented (templates/cache.yml:73-75), so require jupyter or build them
  • Settle the runtime budget for re-executing every lecture weekly; may depend on #92 Phase 3's parallel pre-execution
  • Decide whether failure blocks the cache save or only reports
  • Alerting: build-jupyter-cache's failure-issue path is inline actions/github-script (build-jupyter-cache/action.yml:382-528), so a new job must extract or duplicate it
  • Resolve the "first step of #2" conflict: #92 Phase 3 and PROJECT-OPTIMIZE-PREVIEWS.md:93 both claim it for the jcache project execute --executor local-parallel pilot — a wall-clock optimisation, not an artifact check. Proposal: #92 drops the lineage, this issue keeps the notebook check.
主要言語
Shell
スター
0
フォーク
1
平均マージ
20時間 3分
マージ済み PR(30日)
48

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

QuantEcon/actions のほかの issue

QuantEcon/actions の issue をすべて見る

似ている issue

Shell/Bash の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。