Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate etc/extract_manuals.py (and related steps) into the automated GAP release process #250

Open
wilfwilson opened this issue Jul 7, 2021 · 3 comments
Labels
automation Issues/PRs about things that can/should be automated, and related topics manuals

Comments

@wilfwilson
Copy link
Member

This has been mentioned in various places already, such as gap-system/gap#4596 (comment), but I think it'll be good to record it here in its own issue.

It might not be completely straightforward to automate putting the extracted manuals onto the web server, and this of course could change, given the resolution to #223.

@wilfwilson wilfwilson added automation Issues/PRs about things that can/should be automated, and related topics manuals labels Jul 7, 2021
@wilfwilson
Copy link
Member Author

This should now also involve running etc/pkglinks.py

@fingolfin fingolfin changed the title Integrate etc/extract-manuals.py (and related steps) into the automated GAP release process Integrate etc/extract_manuals.py (and related steps) into the automated GAP release process Sep 3, 2022
@fingolfin
Copy link
Member

We don't need etc/pkglinks.py anymore (see PR #307)

@fingolfin
Copy link
Member

With the new server setup (I'll post a PR with update README.md and more soon) it would be good to automate this further. The steps I have to take right now are as follows:

  1. SSH into the host serving docs.gap-system.org
  2. there, download the relevant full GAP tarball, as well as the corresponding packages.json file
  3. run etc/extract_manuals.py on this
  4. rename the resulting Manuals directory to v4.X.Y and move it to a specific absolute path
  5. update a symlink latest to point to the new release

Clearly this could all be done by a script which only needs the v4.X.Y as argument.

To make this fully automatic, it'd be useful to have a way to automatically query the latest GAP version... Then I could run a cron job on the server which checks, say, once per hour or once per day to check if there is a new release. And if so, execute the steps above.

Actually, thinking about it now, instead of running on a timer schedule, we could also run it via a webhook ; so pushes to this repository would trigger the check. Then we could check the following: if the push is to master, extract the GAP version from _data/release.json; if it is new, then perform the steps above. This way, the manual would be updated the moment we publish a website update with a new version (well... with a bit of a delay to download and extract everything)

(A similar approach could be used to update files.gap-system.org to carry the new release tarball)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automation Issues/PRs about things that can/should be automated, and related topics manuals
Projects
None yet
Development

No branches or pull requests

2 participants