sagemath / website

Source for https://www.sagemath.org/; submit Issues/PRs here to update the website
40 stars 181 forks source link

Automatic deployment to www.sagemath.org #413

Open mkoeppe opened 1 year ago

mkoeppe commented 1 year ago

@haraldschilly We have the automatic build in place in https://github.com/sagemath/website/blob/master/.github/workflows/build.yml What's missing for automatic deployment from the master branch to www.sagemath.org?

haraldschilly commented 1 year ago

From my point of view, that automatic build is not a sufficiently complete build of the website. If you want to know what I do:

Checking/Testing

run make, and see if it breaks → fix the detail that's off. that's currently a check with these PRs.

new release

  1. run make: this step needs the secret api key for the google maps api to look up the coordinates for the pins on the dev map. If a location does not resolve (currently just a warning, but this should be an error), fix the location (be more specific, like, appending the country).
  2. The step above caches the coordinates in conf/geocode.xml. I.e. that files must be committed as well. e.g. https://github.com/sagemath/website/commit/92fefd7 … surely, this could be part of a script doing a release as well.
  3. Final step is running make publish, which calls publish.sh

periodic updates

Additionally, every hour a publishing step runs, which checks up on the sage mirrors. If they're outdated (by checking the timestamp in the zzz/timestamp file or so) or do not respond, they're not included.

So, this means there is also a periodic task running the publish operation every hour. As an example, a very recent commit is this one https://github.com/sagemath/sagemath.github.io/commit/e29e1277254c99926761e766986d010ad2a49387 where one mirror was removed. This also changes the mirror_list file, used by Sage.

I hope this helps getting an overview. Right now everything happens in a CoCalc project, where several people have access to.