chore: add quantecon/ fork maintenance tooling#14
Conversation
- Add quantecon/build.sh — rebuilds the `quantecon` integration branch by merging all active feature branches on top of `main`, then patches the version string with a `-qe` suffix so `myst --version` identifies the QuantEcon build. - Add quantecon/features.txt — registry of active carry-patches. - Add quantecon/README.md — documents the branching model, sync workflow, and conflict resolution strategy. - Add warning banner to README.md identifying this as the QuantEcon fork.
There was a problem hiding this comment.
Pull request overview
Adds QuantEcon-specific fork maintenance tooling to keep a “carry-patches” integration branch (quantecon) up to date while upstream PRs are pending, and clearly labels the repository as a fork.
Changes:
- Add a
quantecon/folder containing a rebuild script (build.sh), patch registry (features.txt), and workflow documentation (README.md). - Add a top-level README warning banner pointing users to the upstream
jupyter-book/mystmdproject.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| README.md | Adds a warning banner indicating this is the QuantEcon fork and links to upstream. |
| quantecon/README.md | Documents the fork branching model and rebuild workflow for the integration branch. |
| quantecon/features.txt | Introduces the ordered list/registry of carry-patch feature branches. |
| quantecon/build.sh | Adds an automation script to rebuild the quantecon integration branch from main + listed feature branches. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Only the quantecon/ folder belongs on main. Workflow disabling is handled via the GitHub UI; README banner is unnecessary given the fork name.
- Use awk for features.txt parsing (POSIX-safe, replaces non-portable \s grep) - Add git fetch origin before ff-only merge so refs are current - Create local tracking branch for origin-only feature branches before merging - Fail hard (not warn) if main cannot be fast-forwarded - Patch packages/mystmd/package.json version instead of gitignored version.ts; copy:version propagates the version at build time - Update README to reflect correct version patching mechanism
- Update diagram and branching model table - New 'Develop a new feature' section uses 'git checkout -b ... upstream/main' - Add migration section for existing branches that include quantecon/ commits (git rebase --onto upstream/main main) - Update keep-current and conflict-resolution sections to use upstream/main - Explain why this works (git merges changes, not full trees)
Summary of updates since initial reviewScope reduced — PR now adds only the Copilot review feedback addressed (5 threads):
Workflow refinement — feature branches should be created from After merging
|
Summary
Adds a
quantecon/folder with tooling to manage this fork while QuantEcon patches are awaiting upstream review.Files added
quantecon/features.txt— Registry of active carry-patches (feature branches). One branch per line with an optional comment linking to the upstream PR.quantecon/build.sh— Rebuilds thequanteconintegration branch:mainfromorigin/mainquantecontomainfeatures.txtin order (--no-ff)packages/mystmd/src/version.tsto append-qeto the version (e.g.1.9.0-qe), somyst --versionidentifies the QuantEcon buildorigin/quanteconwith--pushMerge conflicts abort cleanly with actionable instructions — conflicts are always resolved on the feature branch, never on the throwaway
quanteconbranch.quantecon/README.md— Documents the full branching model, sync workflow, conflict resolution strategy, and what to do when upstream finally merges a patch.README change
Adds a warning banner to the top-level
README.mdidentifying this as the QuantEcon fork and pointing to the official upstream project.Usage
# Add your feature branch to quantecon/features.txt, then: ./quantecon/build.sh --pushDisable the
ReleaseandPublish GitHub ReleaseGitHub Actions workflows on this fork via Settings → Actions → Workflows to prevent accidental npm/PyPI publishes.