edwardchalstrey1/seshat

Seshat project GitHub workflow proposal & timeline

Closed this issue · 2 comments

Proposal

Timeline

  • July 2024: At minimum, let's try to ensure all development exclusive to the upstream repo is complete
    • Majid to continue working on original repo (main Qing branch), implementing features unrelated to maps development up until leave, at which point development on this repo should cease, as should updates to the current live site on AWS
    • Ed to finalise optimal future-proof GitHub workflow for Seshat project that is robust to personnel changes and can be supported over multiple institutions in the long term (see draft below)
    • Ed/Kalle to set up Seshat GitHub organisation and new fork of the Seshat repo hosted here, to which everyone who is a developer should be given access and work from going forwards.
      • Forked from Ed's fork, but ensuring is up to date with Majid's repo too by the time he leaves
      • Transfer project board & issues to the new repo
    • Seshat-Global-History-Databank#3
      • Ed/Kalle to book session(s) with Majid towards the end of the month to provide overview of how new GitHub org/workflow will work by the time he returns
  1. August/September 2024 (or Majid's leave period); Ed/Kalle
    • #79
    • #91
    • Implement GH action that pulls main branch to server on successful push (can initially be configured to a test site and later changed to live site)
    • Refactor and document the codebase, perhaps redesign some of the database structure as needed
  2. October onwards
    • Ed to provide Majid hands-on GitHub training (perhaps during Vienna Seshat get-together)
    • Majid is able to easily follow documentation to deploy new version of Seshat website via Pulumi
      • Switch the domain to point at new website and spin down the old one
    • Development to continue as per the documented workflow

This timeline proposal means that the maps won't go live on the main Seshat website until after Majid returns, which is something we should check with Pieter. If this isn't feasible, we could work on #79 in July (or just make an AWS version of what we currently have) and then just schedule a day to set it up with Majid on a call in July.

GitHub workflow

  • Simple main branch and feature/bug branches
  • Process must enable Majid to continue to be able to support rapid deployment of new features
  • CI deployment to staging, manual git pull to production

Questions for Majid

  • How do you currently track issues, bugs, features, manage your work?
    • Peter/Pieter sending lots of emails etc and also pointing Majid to discuss with RAs. Regular weekly meeting to decide priorities
  • What is your current workflow?
    • I think: make changes on Qing branch only
  • How do you push changes to the site?
    • My guess: ssh into the VM and git pull - some manual sends of changes to avoid upsetting settings
  • How do you back up the database?
    • Periodic manual download of snapshot and upload to google drive
  • What % of your time is on Seshat codebase development?
    • I think: 100% - but not 100% on codebase - data cleaning etc

TODO