Skip to content

🚀 Switchover from Trac to GitHub #73

@mkoeppe

Description

@mkoeppe
  1. Announce switchover schedule on sage-devel.
  2. Jan 30, 13:00 UTC: Make Trac read-only (this needs help by a Trac admin):
    • Take Trac offline,
    • Reconfigure Trac ticket system, Trac wiki to be read-only
    • Make sure Trac git repo is fully synced to https://github.com/sagemath/sagetrac-mirror.
    • Make Trac git repo read-only
    • Bring Trac online.
    • Announce read-only availability of Trac on sage-devel
    • this needs to be completed by Jan 30, 23:00 UTC the latest
  3. Archive sagemath/sagetrac-mirror (= set it to readonly).
  4. Final update of GitHub usernames.
  5. Re-run write-closing-commits.sh (done in 83bc2e2, includes 9.8.rc0)
  6. Use fresh worktree worktree-prod (instead of clearing the trac-to-github disk cache (rm -rf trac_cache) and the migration archive (git clean -fX archive))
  7. Run migrate.py to create the migration archive in archive/. about 6.5 hours runtime, needs running, read-only Trac server
  8. Set migrate.cfg.sagetracmigrationarchive [wiki] migrate: yes
  9. Check any remaining pull requests for the migration script, merge master into production. Clear the migration archive again (git clean -fX archive).
  10. Re-run migrate.py. about 30 minutes.
  11. (Optional:) put a mirrored clone of sagemath/sage into the migration archive (but remove all branches except master, develop!) at archive/repositories/sagemath/sage.git. In the bare repo, run rm -Rf refs/pull && git gc to get rid of the pull request refs from sagemath/sage; we do not transfer these PRs in this step. (Alternatively, we can push to the repo later.)
  12. Init the bare repository archive/repositories/sagemath/sage.wiki.git. (Importing a populated wiki repository does not seem to work – wiki at https://34.105.185.241/sagemath/sage-20230130181123/wiki was empty on import. So we push the wiki later.)
  13. Edit the repo description of sagemath/sage as preparation for renaming/archiving it.
  14. (Optional:) Import into our GHE server for checking for necessary additions to map-ghe.csv.in and general inspection. about 20 hours runtime.
  15. Rename sagemath/sage to sagemath/sage-archive-2023-02-01.
  16. Archive sagemath/sage-archive-2023-02-01.
  17. Feb 1, 9am Pacific Time: Request access to Enterprise Cloud Importer. (this needs help by our GitHub contacts)
  18. Upload the migration archive archive.tar.gz; also upload map-github.csv (edited from map-ghe.csv.in -- see script rsync-archive-to-ghe-and-import.sh).
  19. Set org Member permissions to minimal. Invite users to sagemath GitHub org using API (get-a-user, create-org-invite), post heads-up on sage-devel, create org README as a landing page for invitees
  20. Feb 3, 0:00 UTC: Fix up the map using GraphQL (ECI does not allow me to go back to change the map when it thinks it is "READY") or restart the import from scratch (~1h).
  21. Import ("perform") – as a new repo sagemath/sage (this should break the redirect sagemath/sage -> sagemath/sage-archive-2023-02-01).
    4. (Optional:) Create a single-branch fork of sagemath/sage-temp called sagemath/sagetrac-mirror and push all branches (or all branches of open tickets) from sagemath/sagetrac-archive to it. Open PRs from sagemath/sagetrac-mirror to sagemath/sage-temp for all open tickets with attached branches.
  22. Archive the repo so that we don't catch premature PRs
  23. Announce preview on sage-devel.
  24. Rename sagemath/sage to sagemath/sage-migration-preview-2023-02-02
  25. Fix remaining attachment issues (Fix up handling of repository_files / attachments for some types #176)
  26. Feb 4, 22:00 UTC Regenerate archive again, import as sagemath/sage-prod
  27. Rename faulty import sagemath/sage to sagemath/sage-migration-preview-2023-02-04
  28. rename sagemath/sage-prod to sagemath/sage
  29. Disable Actions until Disable pull-request github workflows #157 is done (6526184)
    17. [ ] Rename the new repo sagemath/sage-temp to sagemath/sage. (Yes, this will work and will break the redirect sagemath/sage -> sagemath/sage-archive-2023-02-01.)
    18. [ ] (Optional:) Transfer the existing (few) issues from sagemath/sage-archive-2023-02-01 to sagemath/sage.
  30. fast-forward develop to 9.8.rc1,
  31. enable Actions,
  32. check that Projects are disabled
  33. disable Discussions
  34. planned: by Feb 6, 08:00 UTC Announce on sage-devel that sagemath/sage is now open for Issues and PRs.
  35. Clone https://github.com/sagemath/sage-archive-2023-02-01.wiki, add converted wiki. merged-wiki
  36. Push to https://github.com/sagemath/sage.wiki
  37. Display a link from each Trac ticket to the converted GitHub Issue (this needs help by a Trac admin)

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions