Wykres commitów

1282 Commity (main)

Autor SHA1 Wiadomość Data
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