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

Automatically build binder configuration #24842

Closed
saraedum opened this issue Feb 26, 2018 · 36 comments
Closed

Automatically build binder configuration #24842

saraedum opened this issue Feb 26, 2018 · 36 comments

Comments

@saraedum
Copy link
Member

This ticket proposes to add an automatic build for binder to the CI infrastructure from #24655.

Even though there is no support for this in trac yet, people could manually link to the generated binder configuration in their trac tickets. This would make it possible to try the proposed changes out without having to checkout and build the ticket.

If you want to try this out, you can go to the (automatically generated) commit in this github repository.

From personal experience, I see a number of reasons why this could be useful:

  • (At Sage Days, new) contributors could start reviewing easy tickets right away without getting frustrated by having to rebuild Sage all the time because they checked out some old branches.
  • Some people use the Sage binaries in their distribution but don't really want to start hacking on Sage on their machines. They still would like to push a certain ticket that is fixing a bug they are experiencing. They are (understandably) reluctant to give things a postitive review without having it tried out themselves.
  • When sharing experimental code with others you usually want to keep the hurdles as low as possible. A link to a Jupyter notebook that just works is certainly much more convenient than complicated instructions on how to git checkout and make a ticket.

Depends on #24854

CC: @roed314 @embray @nthiery @xcaruso

Component: build

Keywords: CI, binder

Work Issues: encode keys base64, support gitlab, squash history once #24854 has ben merged

Author: Julian Rüth

Branch/Commit: u/saraedum/24842 @ 9f84f0a

Issue created by migration from https://trac.sagemath.org/ticket/24842

@saraedum saraedum added this to the sage-8.2 milestone Feb 26, 2018
@saraedum
Copy link
Member Author

screenshot

@saraedum
Copy link
Member Author

comment:1

Attachment: binder.png

@saraedum
Copy link
Member Author

Branch: u/saraedum/binder

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 26, 2018

Commit: 1bcb818

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 26, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

d0b3d7fTo make this truly a micro-release
069e722Allow user to override ARTIFACT_BASE on CircleCI
1bcb818Merge branch 'ci' into binder

@embray
Copy link
Contributor

embray commented Mar 12, 2018

comment:4

I could definitely add support for this in the Trac plugin as well, easy peasy.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 28, 2018

Changed commit from 1bcb818 to bcd3692

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 28, 2018

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

be3a0f7The docbuild crashes happen during an os.fork to spawn tachyon
7d85dc7Something related to the sphinxbuild seems to be leaking memory
50898feTry to build-from-scratch on GitLab's underpowered CI machines
95c6275Comment on fork logic in docbuilding
c0574caMerge remote-tracking branch 'trac/develop' into u/saraedum/gitlabci
329fdabfix tags for build-from-latest
048e2d8silence unicode warnings from the patchbot
f9c772eFix filtering logic in sphinx logger
f043163Fixed some minor doctest issues
bcd3692Merge remote-tracking branch 'trac/u/saraedum/gitlabci' into HEAD

@saraedum
Copy link
Member Author

comment:6

For this to really make sense we would have to synchronize trac's Git repository to gitlab, say to something like a sage-developers repository and enable CI there.

@saraedum
Copy link
Member Author

saraedum commented May 1, 2018

Changed dependencies from #24655 to #24655, #24854

@saraedum
Copy link
Member Author

Work Issues: use ssh keys through https://circleci.com/docs/2.0/configuration-reference/#add_ssh_keys

@saraedum
Copy link
Member Author

Changed commit from bcd3692 to none

@saraedum
Copy link
Member Author

Changed branch from u/saraedum/binder to none

@saraedum
Copy link
Member Author

Branch: u/saraedum/24842

@saraedum
Copy link
Member Author

Changed dependencies from #24655, #24854 to #24854

@saraedum
Copy link
Member Author

Commit: f552520

@saraedum
Copy link
Member Author

Last 10 new commits:

864843cfix syntax error in CircleCI configuration
e1c8536Run short and new doctests on CircleCI for every branch
45579a1Call the right scripts in CircleCI
11f8a6cno port exposure needed for jupyter anymore
1960ba1add openssl/libssl-dev to the docker images
14926cfRevert "add openssl/libssl-dev to the docker images"
f2c641aAdd debug information on patch size
83f71e7Don't pipe "echo" into "rm"
8d3caebMerge branch '24655' into 24854
f552520Merge branch '24854' into HEAD

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 22, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

cc3e8c8Fix name of [GitLab](../wiki/GitLab) stage

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 22, 2018

Changed commit from f552520 to cc3e8c8

@saraedum
Copy link
Member Author

Changed work issues from use ssh keys through https://circleci.com/docs/2.0/configuration-reference/#add_ssh_keys to encode keys base64, support gitlab

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 20, 2018

Changed commit from cc3e8c8 to 045784d

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 20, 2018

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

4f11757Add --short to options.rst
324808aMerge branch '25270' into 24854
06a0832Merge remote-tracking branch 'trac/develop' into 24854
6e267b6Fix namespacing for [GitLab](../wiki/GitLab) CI
54cfea3Merge remote-tracking branch 'trac/develop' into 24655
b12cd9fDo not use broken docker version on CircleCI
220d948Warn about aufs
c40bb81Add reference to known chown bug in docker/aufs
e501b3fMerge branch '24655' into 24854
045784dMerge branch '24854' into 24842

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 29, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

8b10429Merge remote-tracking branch 'trac/develop' into 24655
d313c11Merge remote-tracking branch 'trac/develop' into 24655
8e035deMerge branch '24655' into 24854
1281cbfMerge remote-tracking branch 'trac/develop' into 25270
67f98c6Merge branch '25270' into 24854
fec87aaHonor only_errors option
93d71c2Merge branch '25270' into 24854
b803901Merge branch '24854' into 24842

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 29, 2018

Changed commit from 045784d to b803901

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 7, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

d791779Actually test something in --short runs in CI
829169eMerge remote-tracking branch 'trac/develop' into 25270
b55a1cdMerge branch '25270' into 24854
4717a31Merge branch '24854' into 24842

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 7, 2018

Changed commit from b803901 to 4717a31

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 20, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

4152838Merge remote-tracking branch 'trac/develop' into 24655
4cebb4bMerge commit '4152838ef924933eca5ee54447826c803d2dff00' into 24854
a85023cMerge remote-tracking branch 'trac/develop' into 24655
6fa8bc6Builds fail with 8.4.beta0 but the output is truncated and it is not clear what's the issue.
3af7c50Merge remote-tracking branch 'trac/develop' into HEAD
48365edMerge remote-tracking branch 'trac/u/saraedum/24655' into HEAD
3772312Merge remote-tracking branch 'trac/develop' into HEAD
5b3e018Merge branch '25270' into 24854
3333954Merge branch '24854' into 24842

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 20, 2018

Changed commit from 4717a31 to 3333954

@embray
Copy link
Contributor

embray commented Oct 29, 2018

comment:18

For some reason I thought this was already done but apparently not. Are there any remaining challenges to this? Currently it lists #24854 as a dependency, but I don't know if that's strictly needed. The pipelines are already working for building; being able to launch the built containers in binder is immediately useful, because it also will allow us to run specific tests against each build manually.

@embray
Copy link
Contributor

embray commented Oct 29, 2018

comment:19

Another idea I had is that if the build was for a merge request on gitlab, we can easily post a comment to the merge request with the link to run the built image on binder.

@embray
Copy link
Contributor

embray commented Oct 29, 2018

comment:20

The branch for this currently has some merge conflict artifacts.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 25, 2018

Changed commit from 3333954 to 9f84f0a

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 25, 2018

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

a8ffbe0Make doctesting work if the docker daemon does not run locally
6a928c3fix permissions of .git directory
b9c7510require the setup to pass
42e6aa3Merge branch '24854' into 24842
8586f9edrop some merge conflict artifacts
c3ea3efMove binder block to the logically correct place
9b3cc0fRun doctests in CI
86c452eMerge remote-tracking branch 'trac/develop' into 24854
b8fe26aMerge remote-tracking branch 'trac/develop' into 24854
9f84f0aMerge branch '24854' into 24842

@saraedum
Copy link
Member Author

Last 10 new commits:

a8ffbe0Make doctesting work if the docker daemon does not run locally
6a928c3fix permissions of .git directory
b9c7510require the setup to pass
42e6aa3Merge branch '24854' into 24842
8586f9edrop some merge conflict artifacts
c3ea3efMove binder block to the logically correct place
9b3cc0fRun doctests in CI
86c452eMerge remote-tracking branch 'trac/develop' into 24854
b8fe26aMerge remote-tracking branch 'trac/develop' into 24854
9f84f0aMerge branch '24854' into 24842

@saraedum
Copy link
Member Author

Changed work issues from encode keys base64, support gitlab to encode keys base64, support gitlab, squash history once #24854 has ben merged

@embray embray removed this from the sage-8.2 milestone Feb 25, 2019
@embray embray added the pending label Feb 25, 2019
@saraedum
Copy link
Member Author

saraedum commented Sep 5, 2019

comment:24

I am trying a simpler approach in #28457.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants