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
CI for your environment #162
Comments
Hah! But what about if we tag a commit and link users to the tag? This way users should always arrive at a prebuilt image and we just have to make sure is that we correct any binder issues if we're going to force change the tag?
@agitter I am okay with this solution, but I think it underscores that we probably should just move the figure generation to its own repo with its own CI |
mybinder.org assumes that rebuilding your image at a given SHA at different points in time will result in the same image and makes no promises about how long we will keep cached images, so you have to be ready at "any time" for your image to be rebuilt. When it does happen people make one step forwards on the above list :) In practice it seems to happen a few times a year that we empty the cache.
Old man Tim would remove the "just" because it turns out to be tricky and tedious job, yay. 😀 From my experience what breaks your build is (in order of time that has passed since "let's make this reproducible, how hard can this be."):
It seems like I have yet to find the end of this list. Now resigned myself to "unless the code doesn't interact with the universe or the universe stops changing things will always keep breaking" :-/ So I think the least hassle is to rebuild every few weeks and fix up what has broken. That way the breakage stays small, but it does require "constant attention". |
Okay, that part is important for our intended use case. We have a few high-priority changes to make in the next few weeks but then will discuss setting up CI for this environment, possibly in a new analysis repo. |
If you want a not-terribly-complex way to make sure your environment still builds and does something useful adding something like
repo2docker --no-run .
to your CI setup should get you most of the way there. There are several repos that do this as a way to get continuous integration for their environment.repo2docker . verify
whereverify
is an executable script in your repo that determines if things still "work" is a neat addition for when you want to check more than just "could we build the environment".I think by now everyone who has tried doing this (for more than a few weeks) has realised that the only way to keep things working is to continuously exercise them 😀.
The text was updated successfully, but these errors were encountered: