yuvipanda
76d3ae423d
Bump notebook version to 5.2.2
...
Brings in https://github.com/jupyter/notebook/pull/2959 to fix
https://github.com/jupyterhub/binderhub/issues/211
2017-11-28 17:48:40 -08:00
Yuvi Panda
0d3becd0b4
Merge pull request #137 from darwindarak/master
...
RFC: Ignore "julia" in REQUIRE file when precompiling
2017-11-16 16:56:22 -08:00
Ole Schuett
691174518f
Fix binder/apt.txt detection
2017-11-12 11:46:18 +01:00
Darwin Darakananda
1d42113368
Ignore "julia" in REQUIRE file when precompiling
2017-11-10 20:37:55 -08:00
Yuvi Panda
88f7b34fed
Merge pull request #118 from betatim/tempfile
...
[MRG] Use stdlib tempfile module
2017-11-09 16:14:09 -06:00
Tim Head
5ff228deca
Fix argument definition
2017-11-09 16:41:00 +01:00
Tim Head
498d30a3f5
Remove leftover reference to juypterhub
2017-11-01 17:23:24 -07:00
Yuvi Panda
a7b1519b4d
Revert "[MRG] Add limit on git clone depth"
2017-11-01 16:27:26 -07:00
Yuvi Panda
cad9deb7d0
Revert "Add handling for no ref being provided"
2017-11-01 16:23:29 -07:00
Tim Head
cb1b1442f2
Add handling for no ref being provided
...
We do not need to checkout a specific ref if none is provided. Added a
test to check the behaviour.
2017-11-01 21:56:13 +01:00
Tim Head
5242bd8339
Switch to using context manager for cleanup
2017-11-01 21:15:27 +01:00
Yuvi Panda
7a007d7f6b
Merge pull request #120 from betatim/max-clone-depth
...
[MRG] Add limit on git clone depth
2017-10-31 12:38:20 -07:00
Tim Head
5b48e60505
Switch to exceptions instead of exit() and add a new test
2017-10-31 11:09:46 +01:00
Yuvi Panda
907ec06361
Merge pull request #122 from betatim/one_more_rm
...
[MRG] Remove intermediate containers for successful and failed builds
2017-10-30 14:58:54 -07:00
Tim Head
095671589b
Remove leftover reference to juypterhub
2017-10-26 21:16:41 +02:00
Tim Head
c19d037036
Add check for ref and deep clone
...
If the ref does not exist in the shallow clone, create a full clone of
the repository and retry.
2017-10-26 21:14:41 +02:00
Tim Head
8caeffdbbd
Add limit on git clone depth
...
Only checkout last 50 commits from a remote repository. This helps speed
up the cloning for large repositories.
2017-10-26 21:14:41 +02:00
Min RK
fc4aeda557
Merge pull request #111 from willingc/remove-jhub
...
Remove jupyterhub from default installs
2017-10-25 15:35:14 +02:00
Tim Head
9cdbc58e5b
Remove intermediate containers for successful and failed builds
2017-10-25 08:06:08 +02:00
Tim Head
67510722d4
Merge pull request #101 from yuvipanda/forcerm
...
Remove intermediate containers in failed builds
2017-10-24 23:50:53 +02:00
Tim Head
f6ce444450
Use stdlib tempfile module
...
The tempfile module can take care of finding a good temporary directory
for us on paltforms where `/tmp` does not exist.
2017-10-24 23:25:34 +02:00
Carol Willing
fd5f98d5eb
Edit per @yuvipanda review
2017-10-23 15:39:01 -07:00
Carol Willing
03698bf425
Remove jupyterhub from buildargs except leave for legacy
2017-10-23 09:33:27 -07:00
Carol Willing
ff3dfffbdb
Remove jupyterhub from buildpack and default build script
2017-10-23 09:30:24 -07:00
Carol Willing
991e4ad4e2
update docstring to include binderhub
2017-10-23 09:19:33 -07:00
Carol Willing
6c2df2d295
Remove jupyterhub from miniconda bash script
2017-10-23 09:19:06 -07:00
yuvipanda
5f521e21e1
Use argparse.REMAINDER instead of action=append
...
This gathers up all the remaining parameters without misinterpreting
parameters like --no-build etc as part of cmd
2017-10-23 08:53:33 -07:00
yuvipanda
964fbcf57c
Fix handling of 'cmd'
...
nargs='*' made a lot of other parsing fail with strange
errors.
2017-10-23 08:38:04 -07:00
Chris Holdgraf
01574946f5
Re-order arguments to make more intuitive sense
2017-10-23 08:37:10 -07:00
Darwin Darakananda
560d8c016e
Fixed missing string interpolation argument
2017-10-20 15:51:18 -07:00
Darwin Darakananda
4de57738fd
Only parse `REQUIRE` file in `binder` (if exists)
2017-10-20 14:51:02 -07:00
yuvipanda
84892d3686
Remove intermediate containers in failed builds
2017-10-18 23:53:30 -07:00
Grant Nestor
18bd34b0b0
Upgrade to notebook 5.2.0
2017-10-17 10:32:46 -07:00
Grant Nestor
d6a1b44e7b
Upgrade to jupyterlab 0.28.0
2017-10-17 10:27:48 -07:00
Min RK
edbb8dc609
avoid producing non-JSON output on errors
...
register a custom excepthook that is called instead of the default traceback formatter.
This produces a phase: failed message with the error.
2017-10-17 14:04:16 +02:00
Chris Holdgraf
8825413feb
yuvi comments
2017-10-06 18:23:16 -07:00
Chris Holdgraf
56870a3a6c
updating docs
2017-10-06 09:36:46 -07:00
Yuvi Panda
fa9e3fdec5
Merge pull request #85 from minrk/postBuildPermissions
...
raise on non-executable postBuild
2017-10-04 17:56:23 -07:00
Min RK
95ac595fb3
raise on non-executable postBuild
...
instead of ignoring the file
2017-10-05 00:43:47 +02:00
Min RK
a5188b41b8
make binder directory visible
2017-10-05 00:29:10 +02:00
Min RK
a7f7038682
Look in .binder directory for files
...
If .binder exists, top-level files are ignored. This allows for top-level Dockerfiles for other uses, but binder-specific environment.yml, etc.
2017-10-04 23:52:09 +02:00
Yuvi Panda
be3ca5802d
Merge pull request #81 from jupyter/ellisonbg-patch-2
...
Update virtualenv base to use jupyterlab 0.27
2017-09-27 12:30:07 -07:00
Yuvi Panda
02ecaf36bf
Merge pull request #74 from minrk/environment-excludes-requirements
...
don't install requirements.txt if environment.yml is present
2017-09-27 12:29:52 -07:00
Brian E. Granger
2bad694c66
Update detectors to use jupyterlab 0.27
2017-09-27 11:07:45 -07:00
Min RK
4be50e71e7
remove impossible elif condition
2017-09-27 20:04:57 +02:00
Brian E. Granger
54ee2401ef
Update JupyterLab to 0.27
...
How would we run commands to install JupyterLab packages which require running bash commands such as `jupyter labextension install foo`? @blink1073
2017-09-27 10:57:35 -07:00
Natalino Busa
a9f9255541
More forgiving rmtree
2017-09-12 00:54:59 +08:00
Chris Holdgraf
065d00aa71
Merge pull request #75 from minrk/typo
...
typo: --print-dockerfile ended up falling under --debug
2017-09-08 14:30:24 -07:00
Min RK
579bf664bb
allow setting JUPYTERHUB_VERSION via env
2017-09-08 11:32:32 +02:00
Min RK
dd25515a83
ensure composed buildpacks inherit application config
...
so that configurable buildpacks can be configured
2017-09-07 14:30:17 +02:00
Min RK
654e6c8ede
fix legacy docker
...
appendix was just skipped
2017-09-07 14:22:15 +02:00
Min RK
dd82e688e7
make jupyterhub a build arg
...
and verify that it's installed in tests
2017-09-07 14:22:15 +02:00
Min RK
05b8d662ea
typo: --print-dockerfile ended up falling under --debug
2017-09-07 14:21:11 +02:00
Min RK
b20ee4adb9
don't install requirements.txt if environment.yml is present
...
The most likely cause of both being present is equivalent dependencies for two use cases,
not a single multi-stage conda environment.
If deps should be installed in conda with pip, they will be in `environment.yml` under `pip`.
2017-09-07 13:21:23 +02:00
Yuvi Panda
8db1d43210
Merge pull request #68 from yuvipanda/print-dockerfile
...
Add --debug & --no-build options
2017-09-06 12:43:42 -07:00
yuvipanda
d116c30498
Output Dockerfile contents if set to --debug
...
The Dockerfile we generate won't really work at all outside
of repo2docker. This makes it very clear that these are purely
for debugging purposes.
2017-08-27 11:04:01 -04:00
yuvipanda
3b226d183b
Add --print-dockerfile & --no-build options
2017-08-27 10:51:01 -04:00
yuvipanda
d6a4cc241e
Add npm to base image
...
Too many things require npm to build now
2017-08-01 23:18:15 -07:00
yuvipanda
cd7c151959
Filter all of src too when adding to tar
...
This also seems to be required to more consistently use the
Docker build cache.
2017-07-30 11:20:38 -07:00
yuvipanda
4d4c1fb606
Allow specifying requirements.txt with environment.yml
...
They both get installed.
2017-07-30 05:15:07 -07:00
yuvipanda
c6a79f1c10
Don't add packages list if there are no packages
2017-07-30 05:12:35 -07:00
yuvipanda
fe6975dda6
Make sure that build_script_files don't bust cache
...
This slowed down everything!
2017-07-30 05:12:27 -07:00
yuvipanda
2e9954a6c6
Add back --no-clean support
...
And remove some traitlets we are no longer using
2017-07-30 03:44:21 -07:00
yuvipanda
09476d8efa
Fix tarfile mode parameter that doesn't work in 3.4
2017-07-30 02:21:45 -07:00
yuvipanda
3266c2bdc8
Silence massive unreadable error messages when fetching base images
2017-07-29 23:33:43 -07:00
yuvipanda
7cf8ac18a7
Fix legacy dockerfile buildpack and add tests
2017-07-29 23:33:43 -07:00
yuvipanda
208d097468
Fix dockerfile builds and add tests for them
2017-07-29 22:51:46 -07:00
yuvipanda
8edc1ce0e0
Actually tell docker to bind ports
2017-07-29 20:14:36 -07:00
yuvipanda
25a57feaf7
Switch to buildpack-deps as base image
...
We were just slowly recreating this anyway
2017-07-29 18:51:36 -07:00
yuvipanda
e72d963b57
Fix conda builder + add tests
2017-07-29 18:19:55 -07:00
yuvipanda
fcb318c5e8
Refresh container state before trying to kill it
...
Stops racy tests where sometimes the container is already
dead before we try to kill it
2017-07-29 17:36:07 -07:00
yuvipanda
b187df0637
Mark py3 venv as default buildpack
2017-07-29 17:17:18 -07:00
yuvipanda
ad43fa3aab
Pass exit code of container back
2017-07-29 14:31:23 -07:00
yuvipanda
65c89e1f61
Properly support local directories
...
We don't need git!
2017-07-29 14:17:32 -07:00
yuvipanda
64bf17513f
Switch to using argparse for commandline parsing
...
Is cleaner and less hacky than using Traitlets. We still
use traitlets for configuration, and accept a config file
for configuring detectors and what not.
Also implements allowing arbitrary commands from the commandline,
so we can do things like build and test a container!
2017-07-28 23:46:04 -07:00
yuvipanda
c1816a82d4
Add support for arbitrary postBuild scripts
...
Fixes #31
2017-07-28 20:40:02 -07:00
yuvipanda
5225cfc1d4
Cleanup default logging for interactive use
2017-07-28 20:06:54 -07:00
yuvipanda
73284edae7
Don't install GA!
...
At best, this will be for binder only, and we should figure out
other ways of turning this one on.
2017-07-28 20:02:55 -07:00
yuvipanda
4226d01368
Try to make Dockerfiles ordering more deterministic
2017-07-28 20:02:46 -07:00
yuvipanda
b4215161fb
Break properly when no builders are found
2017-07-28 19:35:17 -07:00
yuvipanda
43a5848a3c
Move a set of packages to 'base'
...
This is inevitable - so let's just steal from a popular
docker image made for this purpose
2017-07-28 19:35:17 -07:00
yuvipanda
72466e17e8
Pre-compile Julia libraries when possible
2017-07-28 19:35:17 -07:00
yuvipanda
4af4eb471f
Stop building once you've built one image!
2017-07-28 19:35:17 -07:00
yuvipanda
523b30cf7b
Make the repo2docker app work with new buildpacks
2017-07-28 19:35:17 -07:00
yuvipanda
37b60a04f8
Fix legacy dockerfile buildpack to work properly
2017-07-28 19:35:17 -07:00
yuvipanda
d77bcb4ecd
Fix python2.7 buildpack to work properly
2017-07-28 19:35:17 -07:00
yuvipanda
a8ac7f26ff
Commit Julia's s2i assemble files!
...
They were accidentally ignored by the .gitignore!
2017-07-01 01:11:52 -07:00
yuvipanda
7146ae3c52
Bump julia builder version to match new 0.6 Julia
2017-06-30 23:37:34 -07:00
Min RK
7ef39b9be6
tweak how the python2 kerenl is installed
...
install in its own prefix as well
2017-06-29 10:37:10 -07:00
yuvipanda
6a4aa2f3aa
Add support for Julia buildpack
...
- Looks for REQUIRE file in a repo, assumes is Julia
- Version pinned to v0.5.2 now - in the future, pick one
based on presence of Julia spec in REQUIRE
Fixes #23
2017-06-14 23:58:31 -07:00
yuvipanda
f35cf58459
s2i/venv: Add python3.6 builder support
...
Not the default, since many projects don't have 3.6 wheels yet or
at all.
2017-06-03 17:47:54 -07:00
yuvipanda
742533e956
Bump version of image for default builder
2017-06-01 12:30:10 -07:00
yuvipanda
e973230685
Add jupyterlab by default to the conda builder
2017-06-01 12:29:52 -07:00
yuvipanda
df934df0b4
s2i/venv: Add enough packages to build non-wheel matplotlib
...
Eventually we should probably switch to a 2 stage build, but until
then this is good enough
2017-06-01 12:01:51 -07:00
yuvipanda
51c5f72b45
Remove docker-pull hack
...
No longer check if image exists by doing a docker-pull -
binderhub will no longer start a build if it knows that
the image already exists
2017-05-30 22:43:33 -07:00
yuvipanda
acb0d86027
Add a default build pack
...
Gives you a blank python3 environment
2017-05-30 13:58:19 -07:00
yuvipanda
f07c86f05e
Use never versions of s2i builder images in detectors
2017-05-28 23:26:27 -07:00
yuvipanda
a10c126506
Don't print appendix on each run for legacy dockerfile
2017-05-28 19:25:56 -07:00
Min RK
82ccb38e3a
move dockerfile appendix into LegacyBinderDockerBuildPack.dockerfile_appendix
...
and make it overrideable
2017-05-25 15:37:33 -07:00
Min RK
766eee29e6
add legacy binder dockerfile buildpack
...
- stages files, which previous binder did automatically and repo2docker does not
- installs required versions of ipykernel, jupyterhub, notebook
- registers kernelspecs explicitly
- launches notebook server with python3 env
- removes nb_conda_kernels, which was causing trouble
- sets JUPYTER_PATH so kernelspecs and extensions that were being installed into the python 2 env will still be picked up
2017-05-25 15:15:37 -07:00
Min RK
db66f1dc06
only log build output if capture=true
...
use stdout.write otherwise
2017-05-25 15:10:08 -07:00
Min RK
feaf46e5fc
respect docker env in docker buildpack
2017-05-25 15:09:30 -07:00
Min RK
e7674ce96c
bump version to 0.2.0
2017-05-24 17:17:57 -07:00
Min RK
e7f0ab645e
comment about output capturing
2017-05-24 16:42:25 -07:00
Min RK
698f9e1196
flush lines with carriage returns
...
for terminal progress bars
2017-05-24 16:33:35 -07:00
Min RK
f3505db967
only capture logs when doing json logging
...
and don’t do json logging by default
log messages include newlines, carriage returns so that they can be handled correctly in terminal frontends
2017-05-24 14:11:37 -07:00
Min RK
3ca1c47eda
Merge pull request #10 from jupyter/port-forward
...
Use same port in host and docker container
2017-05-24 12:25:15 -07:00
Yuvi Panda
11eb57cbb1
Merge pull request #12 from minrk/bundle-s2i
...
bundle s2i in wheels
2017-05-24 12:07:56 -07:00
Min RK
560b3ed563
append bundled s2i instead of prepend
...
so it’s lower priority than whatever is already on PATH
2017-05-24 11:47:20 -07:00
Min RK
c158daab9d
use bundled s2i by adding package to PATH
2017-05-24 09:49:23 -07:00
yuvipanda
cb11332c6f
Use same port in host and docker container
...
Makes it work on Linux and the default OS X install I think
2017-05-23 18:09:02 -07:00
yuvipanda
c7dae78a51
Move image existence check to a separate repo
2017-05-23 17:56:03 -07:00
Yuvi Panda
d3c099e8a2
Merge pull request #7 from minrk/s2i-build_image
...
further simplify s2i buildpacks
2017-05-23 12:46:47 -07:00
Min RK
7924113649
support repo as positional arg
...
and flesh out some Application basics: version, name, docstring
2017-05-23 12:29:27 -07:00
Min RK
1d74762c31
further simplify s2i buildpacks
...
setting build_image is enough, without overriding .build()
2017-05-23 12:09:48 -07:00
yuvipanda
b9efde90e9
Print out the host port number in a log message
...
Eventually, we should actually be passing the port number
inside the docker container, after verifying that it is available
on the host. We can deal with races by doing the same thing that
ipython notebook does.
2017-05-22 23:57:40 -07:00
yuvipanda
a0f539faaf
Don't use host network for running containers
...
- Doesn't really work on OS X. BOO!
2017-05-22 23:33:23 -07:00
yuvipanda
9adb8aa947
Use host networking when running
...
Since we only expect this to be happening on users computers
when they are running this to test, host networking solves a
bunch of surprises around access to ports, as well as figuring
out which port the notebook should be listening on (since it
can just rely on the logic inside the notebook)
Dangerous when run on a cloud environment!
2017-05-22 23:02:18 -07:00
yuvipanda
9fca3bf480
Kill the container when our program exits
2017-05-22 23:00:37 -07:00
yuvipanda
6505ddc564
Allow running just-built container
...
- make push optional
2017-05-22 22:55:17 -07:00
yuvipanda
ae124ec2f7
Make push optional and default to False
...
Let's optimize the defaults for good commandline usage rather
than for binderhub usage
2017-05-22 22:17:02 -07:00
yuvipanda
542c7a9a1c
Set default repo source to full path of current dir
...
Rather than just '.'
2017-05-22 22:16:46 -07:00
yuvipanda
657db33017
Set a default image name if none is provided
...
It's kind of shitty but better than just erroring.
2017-05-22 22:16:30 -07:00
yuvipanda
a7d85c48fc
Fix __main__ entrypoint to actually work
2017-05-22 21:30:28 -07:00
yuvipanda
e3224392e0
Add a __main__ and an entrypoint
2017-05-22 20:39:12 -07:00
yuvipanda
13226e1f27
Rename source_url and source_ref to repo and ref
...
Makes more sense, and also now consistent with the repository
name
2017-05-22 20:32:13 -07:00
yuvipanda
310bc0fbfe
Add a little more bit of documentation
2017-05-22 20:28:28 -07:00
yuvipanda
e2991f614a
Specify the type of buildpack list elements
2017-05-22 20:26:47 -07:00
yuvipanda
25c203c356
Minor variable name cleanup
2017-05-22 20:26:27 -07:00
yuvipanda
adbe908355
Rename alias for output image
...
Makes more sense
2017-05-22 20:13:20 -07:00
yuvipanda
46b08a21dd
Add more docs
2017-05-22 20:10:59 -07:00
yuvipanda
93972e9b58
Rename builder to repo2docker
...
Package name is jupyter-repo2docker
2017-05-22 16:22:36 -07:00