git-scm.com 

Landing Page

  1. Git SCM: https://git-scm.com/
  1. Git Developer Pages: https://git.github.io/

Repositories

  1. Git Developer Pages: https://github.com/git/git.github.io

Current State


Present

Funded Heroku Credits

Future State

Options

  1. Convert the Rails application into a static site that could be hosted elsewhere for free. The non-static portions of the site would have to become static in one way or another, and we'd have to come up with an alternative search mechanism to replace the existing one.
  1. Explore ways to cheapen our Heroku bill (more on this later). Our footprint at Heroku currently is a dyno for the Rails site itself, along with a separate database (Postgres) and cache (Redis). We could explore eliminating the Rails-layer cache, and tune our Cloudflare settings to more aggressively cache parts of the website.
  1. Pay Heroku using the Git project's funds held at Conservancy.
  1. Find a cheaper Rails host.

Suggestions 
  • It looks to me as if the only blocker is the site-search, and there are ways to pre-generate an index e.g. in a Jekyll site (which we could host on GitHub Pages, incidentally, which would be a very nice setup indeed).
  • There are a few other smaller-ish things that we are using Rails for. But most of them are limited to "fetch this list of things from Postgres and format it in HTML" which could easily be automated and checked into the static version of git-scm.com's repo.
  • The other thing the Rails app does is to regularly poll for updated versions, e.g. Git for Windows and Git for Mac. This strikes me as something that would benefit from the transparency provided by having a GitHub workflow to perform said polling instead of the opaque Rails app on Heroku with no public log of when it ran and whether it was successful.
  • Yeah, agreed. Another "behind the scenes" task is running:
heroku run -a git-scm rake preindex
heroku run -a git-scm rake downloads
heroku run -a git-scm rake search_index
  •       which I do after Junio pushes new tags. (FWIW, these jobs should runon a timer, too, but I           like to update the site with new links around the time a release is tagged as opposed to               having to wait for the automated job to kick off). I imagine that this would be replaced with         some kind of GitHub workflow, and the result (any new pages, updated search indexes, etc.)       would be committed into the repository transparently. That workflow could be automated           as well and get kicked off when new tags are pushed to git/git (I think).
  • automatable/parallelizable 

Discussions


Architecture


Move to jekyll git-scm.github.io:
git-scm.github.io: example: https://github.com/scientific-python
  • git developer pages