Skip to content

Commit b7d3171

Browse files
mmckyclaude
andauthored
chore(quantecon): add VERSION.yml as build identifier + upstream tracker (#24)
Records which QuantEcon-specific features are merged into this fork's main, identified by a `qe-vN` tag that also exists as a git tag on the corresponding squash-merge commit. Doubles as a tracker for upstream PR status — each feature has an `upstream` block that fills in as features get upstreamed to jupyter-book/mystmd. Populated with the two features already on main: - qe-v1: feature/myst-to-ipynb (#16) - qe-v2: feature/book-numbering (#22) Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 032957c commit b7d3171

3 files changed

Lines changed: 53 additions & 1 deletion

File tree

quantecon/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
*
66
!.gitignore
77
!README.md
8+
!VERSION.yml

quantecon/README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,19 @@
22

33
This fork lets QuantEcon develop and use new `mystmd` features before they land in `jupyter-book/mystmd`. Features are developed on feature branches, squash-merged into this fork's `main`, and the same feature branches are kept alive so they can be opened as upstream PRs whenever the upstream team is ready to review them.
44

5-
> **About this folder.** `quantecon/` doubles as a local scratch space for planning docs, demo books, and experiments. Everything except this `README.md` is gitignored — feel free to drop PLAN docs, demo `myst.yml` projects, etc. here without worrying about accidental commits. To track something new intentionally, add it to the allow-list in [.gitignore](.gitignore).
5+
> **About this folder.** `quantecon/` doubles as a local scratch space for planning docs, demo books, and experiments. Everything except [`README.md`](README.md) and [`VERSION.yml`](VERSION.yml) is gitignored — feel free to drop PLAN docs, demo `myst.yml` projects, etc. here without worrying about accidental commits. To track something new intentionally, add it to the allow-list in [.gitignore](.gitignore).
6+
7+
## Build identifier
8+
9+
[`VERSION.yml`](VERSION.yml) records which QuantEcon-specific features are merged into this fork's `main`, identified by a `qe-vN` tag that's also a git tag on the corresponding squash-merge commit. It's a diagnostic/traceability artifact, not a release version — lecture builds can cat the file to log what fork state they're using.
10+
11+
When landing a new feature:
12+
13+
1. Squash-merge the feature PR into `main`
14+
2. Tag the resulting commit: `git tag qe-v<N+1> <sha> -m "qe-v<N+1>: feature/<name> merged via #<pr>"` then `git push origin qe-v<N+1>`
15+
3. Append the feature to `merged_features` in `VERSION.yml` and bump `qe_version`
16+
17+
When upstream merges one of our features, update the entry's `upstream` block rather than deleting it — `VERSION.yml` doubles as an upstreaming tracker.
618

719
## How it works — the key idea
820

quantecon/VERSION.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# QuantEcon mystmd build identifier
2+
#
3+
# This file is the canonical diagnostic record of which QuantEcon-specific
4+
# features are in this fork's `main`. The `qe_version` field corresponds to
5+
# a git tag of the same name on the commit that landed the latest feature.
6+
#
7+
# Update this file as part of the "land a feature" workflow:
8+
# 1. Squash-merge the feature PR into main
9+
# 2. Tag the resulting commit with the next `qe-vN`
10+
# 3. Append the feature to `merged_features` and bump `qe_version`
11+
#
12+
# When upstream merges one of our features, update its `upstream` block
13+
# rather than deleting the entry — the history is useful.
14+
15+
qe_version: qe-v2
16+
upstream_base: 1.9.0
17+
18+
merged_features:
19+
- id: 1
20+
name: myst-to-ipynb
21+
description: CommonMark ipynb export + image attachment embedding
22+
local_pr: 16
23+
merge_sha: a045d57d
24+
tag: qe-v1
25+
upstream:
26+
status: pending # pending | open | merged
27+
pr: null
28+
merged_sha: null
29+
30+
- id: 2
31+
name: book-numbering
32+
description: Book-style numbering — format, label, section-tagged TOC, auto-prefix
33+
local_pr: 22
34+
merge_sha: 032957c2
35+
tag: qe-v2
36+
upstream:
37+
status: pending
38+
pr: null
39+
merged_sha: null

0 commit comments

Comments
 (0)