# The new (2023) GitHub-based dev workflow for SageMath **Matthias Köppe**, University of California, Davis Sage Days 117, Feb 6, 2023 ## Front page github.com/sagemath/sage **Side bar entry points:** - "About" - "Readme" - "Stars" (lost in migration) - "Releases" **Tabs:** - "Issues" (migrated from Trac tickets) - "Pull Requests" (empty) - ~~"Discussions"~~ (unused, disabled so far) - ~~"Projects"~~ (unused, disabled so far) - "Wiki" (migrated from Trac wiki) **Top level files:** - [README.md](https://github.com/sagemath/sage#readme) - [CONTRIBUTING.md](https://github.com/sagemath/sage/blob/develop/CONTRIBUTING.md) - [CODE_OF_CONDUCT.md](https://github.com/sagemath/sage/blob/develop/CODE_OF_CONDUCT.md) ### Hands-on activities: 1. [Replace links to Trac on www.sagemath.org](https://github.com/sagemath/trac-to-github/issues/163) 2. [Starring campaign for our new repository](https://github.com/sagemath/trac-to-github/issues/170) ## Issues on sagemath/sage migrated from trac.sagemath.org tickets - Quick overview of our completed [migration process](https://github.com/sagemath/trac-to-github) - Side-by-side comparison Trac ticket – Issue ([reference](https://github.com/sagemath/trac-to-github/blob/master/docs/Migration-Trac-to-Github.md#instead-of-opening-a-trac-ticket)) ### Hands-on activities: 1. [Find replacements](https://github.com/sagemath/trac-to-github/issues/130) for the ticket searches advertised on the [Trac front page](https://trac.sagemath.org/#Followingthepulseofdevelopmentobsolete) ## New workflow for developers ### [Instead of opening a Trac ticket](https://github.com/sagemath/trac-to-github/blob/master/docs/Migration-Trac-to-Github.md#instead-of-opening-a-trac-ticket): New Issue or PR - **Demo for new Issue:** Open Issue using web - Format of migrated Issues as a _starting point_ (not dogma) for the future format of Issues and Pull Requests - drop Trac-specific items: "Component" (replaced by Labels); "Keywords" (replaced by proper full text search?); "Upstream" - "Author", "Reviewer": belongs on PRs; keep full names; put in PR comments (instead of description) if cannot edit - **Demo for new PR w/o Issue:** Push to `origin` gives link for opening PR; ready-for-review vs. draft PR ### [Instead of pushing a git branch to an existing Trac ticket](https://github.com/sagemath/trac-to-github/blob/master/docs/Migration-Trac-to-Github.md#instead-of-pushing-a-git-branch-to-an-existing-trac-ticket): New PR - **Demo for new branch for existing Issue without branch:** Push to `origin` to open PR - **Demo for continuing work on a branch linked to an Issue migrated from Trac:** Check out; make changes; push to `origin` to open PR; remove old branch and status Labels from Issue ### [Instead of adding Trac ticket comments, changing ticket box attributes](https://github.com/sagemath/trac-to-github/blob/master/docs/Migration-Trac-to-Github.md#instead-of-adding-comments-on-trac-ticket-and-changing-ticket-box-attributes): Comments, Reviews, Labels - **Demo for reviewing a migrated Issue with branch:** If branch requires no changes and no automatic testing, no need for a PR (unless Release Manager says otherwise); use Labels for review status - **Demo for reviewing a PR:** Inspect workflow runs (Lint, Build&Test, Doc); views diffs; mark as seen; add inline comments; approve; add "Reviewer: " line; how to mark that another reviewer should take a look; use Label for positive review ### Hands-on activities 1. [Clone the repo and/or set up new remotes](https://github.com/sagemath/trac-to-github/blob/master/docs/Migration-Trac-to-Github.md#one-time-actions) 2. Review a PR.