Changes between Version 3 and Version 13 of Ticket #24655
- Timestamp:
- 02/26/18 08:34:51 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #24655
- Property Cc mkoeppe added
-
Property
Commit
changed from
91e4ed1fa743786c25b505859faefa516f1e6983
toe4010d8f91082ac1b4d9c2cd2955edda30c638f8
-
Ticket #24655 – Description
v3 v13 1 1 It would be nice to update our docker images automatically through continuous integration services. Of course it's nice to have these images up-to-date without manual intervention but this is also convenient as a starting point for people who want to use CI for their own branches of Sage (besides the patchbot.)¹ 2 2 3 This ticket proposes recipes for GitLab CI and CircleCI to build our docker images automatically. On the respective websites, the CI can be configured to push automatically to the Docker Hub. A webhook (on github) can also be used to updatethe README on Docker Hub automatically.3 This ticket proposes recipes for GitLab CI and CircleCI to build our docker images automatically. On the respective websites, the CI can be configured to push automatically to the Docker Hub. A webhook (on github) updates the README on Docker Hub automatically. 4 4 5 Steps that need to be taken for this to work: 5 I implemented this for both GitLab CI and CircleCI. I think GitLab CI is more relevant in the long run, also it's open source and people can provision their own machines as test runners. CircleCI at the same time works out of the box for Sage without private test runners and it also allows for easier debugging as you can logon to the machine running your tests with SSH. I tried to share most code between the two implementations. 6 6 7 * Replace all occurences of `saraedum` with `sagemath` in this branch. 8 * Merge this ticket (i.e., the content of https://github.com/saraedum/sage/tree/gitlabci) 7 8 See also https://github.com/sagemath/docker-images/issues/13 and https://github.com/sagemath/sage-binder-env/issues/3 for a followup (automatically provide jupyter notebooks for easier review.) 9 10 ---- 11 12 After this ticket has been merged, the following steps are necessary: 13 9 14 * Setup repositories on Docker Hub for sagemath/sagemath, sagemath/sagemath-cli, sagemath/sagemath-dev to automatically build our github repository. 10 15 * Setup sagemath/sagemath on GitLab to mirror our github repository. … … 13 18 * Add Docker Hub credentials on Circle CI or GitLab. 14 19 15 See also https://github.com/sagemath/docker-images/issues/13.20 To see a demo of what the result looks like, go to https://hub.docker.com/r/saraedum/sagemath/. The CircleCI runs can be seen here https://circleci.com/gh/saraedum/sage, and the GitLab CI runs are here https://gitlab.com/saraedum/sage/pipelines. 16 21 17 To see a demo of what the result looks like, go to https://hub.docker.com/r/saraedum/sagemath/. The CircleCI runs can be seen here https://circleci.com/gh/saraedum/sage, and the GitLab CI runs are here https://gitlab.com/saraedum/sage/pipelines. 22 ---- 18 23 19 24 ¹: I want to run unit tests of an external Sage package, https://github.com/swewers/MCLF. Being able to build a custom docker image which contains some not-yet-merged tickets makes this much easier.