Skip to content

Centralized environment & config reporting for lecture series #321

@mmcky

Description

@mmcky

Summary

Umbrella issue for a small initiative to give us a clear, low-noise view of how each lecture series is built and configured — and to surface environment changes in the weekly report without drowning it in noise.

Origin: @jstac asked whether the automated weekly activity report should include environment details, and whether that would be too noisy. Conclusion: full environment/config data should be pull (a status dashboard + per-series pages), and the weekly report should surface only diffs (what changed week-over-week).

Architecture

publish-gh-pages (QuantEcon/actions) ──manifest + repository_dispatch──┐
daily backstop scrape ─────────────────────────────────────────────────┤
                                                                        ▼
                                                      QuantEcon/status-lectures
                                                 (in-repo JSON store + Pages dashboard)
                                                                │
                          ┌─────────────────────────────────────┴──────────────┐
                          ▼                                                      ▼
                   QuantEcon.manual                              action-activity-report
            (cross-cutting table + per-series block)          (week-over-week env diffs)

Decisions

  • New repo QuantEcon/status-lectures is the data store + GitHub Pages dashboard (created, public).
  • Collection: publish-push primary + daily backstop — publish-time manifests capture the effective (resolved) environment that actually built each site; the daily scrape covers not-yet-migrated repos and flags declared-vs-effective drift.
  • Data lives in-repo (GitHub-native), consistent with our no-webapp-hosting ops.
  • Naming: adopt a status- prefix convention for status/dashboard repos (data lives inside them).

Fields tracked per series

python version · anaconda/conda pin · jupyter-book version · theme version · sphinx extensions (+versions) · execute mode + timeout · only_build_toc_files · launch buttons · intersphinx targets · container vs conda + container tag/digest · runner (ubuntu vs AWS GPU) · GPU? · cache strategy · build duration.

Workstreams

  1. Producer — emit effective-env manifests at publish + daily backstop scrape → Environment & config reporting: publish-time manifest + central data store actions#30
  2. Store + dashboard — JSON store, dispatch intake, Pages dashboard → Scaffold: JSON store layout + Pages dashboard + dispatch intake status-lectures#1
  3. Manual views — cross-cutting features table + per-series env block → QuantEcon/QuantEcon.manual#94
  4. Weekly diffs — environment-change diffs in the activity report → QuantEcon/action-activity-report#25
  5. Naming convention — add status- prefix to the repo conventions → QuantEcon/QuantEcon.manual#95

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions