Changes between Version 3 and Version 13 of Ticket #24655


Ignore:
Timestamp:
02/26/18 08:34:51 (3 years ago)
Author:
saraedum
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #24655

    • Property Cc mkoeppe added
    • Property Commit changed from 91e4ed1fa743786c25b505859faefa516f1e6983 to e4010d8f91082ac1b4d9c2cd2955edda30c638f8
  • Ticket #24655 – Description

    v3 v13  
    11It 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.)¹
    22
    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 update the README on Docker Hub automatically.
     3This 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.
    44
    5 Steps that need to be taken for this to work:
     5I 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.
    66
    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
     8See 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
     12After this ticket has been merged, the following steps are necessary:
     13
    914* Setup repositories on Docker Hub for sagemath/sagemath, sagemath/sagemath-cli, sagemath/sagemath-dev to automatically build our github repository.
    1015* Setup sagemath/sagemath on GitLab to mirror our github repository.
     
    1318* Add Docker Hub credentials on  Circle CI or GitLab.
    1419
    15 See also https://github.com/sagemath/docker-images/issues/13.
     20To 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.
    1621
    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----
    1823
    1924¹: 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.