# 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.