Wykres commitów

1282 Commity (main)

Autor SHA1 Wiadomość Data
Chris Holdgraf 6b8224e08f
exec-style command 2018-02-20 11:18:54 -08:00
Min RK 9809b93f37
Merge pull request #241 from yuvipanda/no-executable
Do not require postBuild to be executable
2018-02-19 15:07:30 +01:00
Yuvi Panda f069a7b99d
Merge pull request #226 from minrk/postamble
add appendix
2018-02-16 16:46:04 -08:00
yuvipanda 01bb6d1e19 Do not require postBuild to be executable
This is hard for windows users and from the GitHub UI,
and provides dubious benefits. So let's remove the requirement!

Fixes #240
2018-02-15 16:46:32 -08:00
Chris Holdgraf 98483d2c8e bumping ipywidgets version 2018-02-14 08:56:42 -08:00
Min RK c857f438b3 add appendix
supports adding arbitrary build steps to the end of Dockerfile
2018-02-14 11:34:10 +01:00
ryanlovett ef330192ab Configure shiny-server.
This assumes apps are in ~/ShinyApps/. For now this can be seeded by
postBuild, but a better convention is to specify remote app locations in
something like a shinyapps.txt file.
2018-02-13 17:56:42 -08:00
Yuvi Panda 4e174313f0
Merge pull request #229 from minrk/memtest
instantiate Repo2Docker to run tests
2018-02-12 11:24:10 -08:00
Min RK 3ab4503f7c clone recursively
ensures submodules, if any, are included
2018-02-12 13:16:06 +01:00
Min RK c164ef42b3 avoid calling sys.exit on success 2018-02-09 16:48:26 +01:00
Min RK 69db8f0ecb allow passing argv to repo2docker.initialize
matching existing Applications
2018-02-09 16:48:26 +01:00
Min RK 1ffec7ded6 do not reuse BuildPack instances
rather than instantiating all buildpacks ahead of time, only instantiate as needed.

Makes it clear that a given BuildPack should only perform a single build
and a new BuildPack should be created for a subsequent build.
2018-02-09 13:14:34 +01:00
Tim Head a50f061a1f Bump jupyterlab and jupyter notebook to latest versions 2018-02-08 10:27:15 +01:00
Yuvi Panda a856b359fe
Merge pull request #219 from rgbkrk/bump-nteract-on-jupyter
pin nteract_on_jupyter to 1.4.0
2018-02-06 17:32:12 -08:00
Kyle Kelley eae15ee481 Switch freeze guidance to not be a directive 2018-02-06 16:54:50 -08:00
Kyle Kelley 2b3e3d39dc pin nteract_on_jupyter to 1.4.0 2018-02-06 16:47:18 -08:00
Chris Holdgraf e046c11848
Merge pull request #210 from yuvipanda/r-lang
Add native R + IRKernel + RStudio support
2018-02-06 13:00:46 -08:00
yuvipanda 957acbcd2b Fix curl commandline parameters 2018-02-02 17:40:18 -08:00
yuvipanda 39d3e6a8f7 Add more docstrings in R BuildPack
- Version-pin the devtools package installation independent of
  the current version
- Make sure get_build_scripts is independent of contents of
  current repository
2018-02-02 17:38:36 -08:00
yuvipanda 25611f0230 Fix venv test failure caused by r buildpack addition 2018-02-02 09:37:56 -08:00
yuvipanda e2099dbc97 Add basic R + IRKernel + RStudio support
This sets up R + RStudio + IRKernel for a repository that contains:

 1. A `runtime.txt` file with the text:

	r-<year>-<month>-<date>

	Where 'year', 'month' and 'date' refer to a specific
	date snapshot of https://mran.microsoft.com/timemachine
	from which libraries are to be installed.

 2. An optional `install.R` file that will be executed at build time,
	and can be used for installing packages from both MRAN and GitHub.

It currently sets up R from the ubuntu repository being used. This
is unideal, and we should investigate other solutions!

Fixes #24
2018-02-02 09:25:19 -08:00
Min RK 740cd35807 upgrade env in two steps
upgrade Python on its own because `conda env update` can get sad when upgrading Python along with a bunch of other transactions (specifically pip-install)
2018-02-02 15:28:27 +01:00
Min RK 8898b6635c refreeze conda environments
with nteract-on-jupyter via pip
2018-02-02 15:28:27 +01:00
Min RK 0d1c132de2 support freezing one Python at a time 2018-02-02 15:28:27 +01:00
Min RK c31ff40937 avoid pip cache in install-miniconda 2018-02-02 15:28:27 +01:00
Min RK e9a3a94ca1 add nteract_on_jupyter via pip in conda 2018-02-02 15:28:27 +01:00
Min RK 6dccbbe68b update conda used for freezing and remove workaround for conda-export bug
Bug is fixed in conda 4.4
2018-02-02 15:28:27 +01:00
Min RK 26dac5cc9b
Merge pull request #207 from yuvipanda/inheritance
Use inheritance to define composed buildpacks
2018-02-02 09:36:38 +01:00
yuvipanda 398c82ee59 Add JuliaBuildPack to list of buildpacks 2018-02-01 15:55:58 -08:00
Min RK 40417b6a7f conda: fix Python version detection
detecting Python 3.5 wasn't happening properly
2018-02-01 17:39:49 +01:00
yuvipanda d438ad7091 Add nteract jupyter extension to requirements.txt based setups
Didn't add to conda, since there is currently no way to add
pip packages to our conda frozen setup (due to
https://github.com/conda/conda/pull/6438).

This means nteract will be available only when used with
requirement.txt, and not when used with environment.yml files.
2018-02-01 04:29:41 -08:00
yuvipanda 91065eb11a Fix tautology 2018-02-01 04:27:55 -08:00
yuvipanda e3bf8a16c6 Remove usage of LoggingConfigurable in BuildPack 2018-02-01 04:27:15 -08:00
yuvipanda be10cadbcb Remove traitlet imports from all buildpacks 2018-02-01 04:23:34 -08:00
yuvipanda 0c046f4f1a Remove all traitlets from Legacy Dockerfile buildpack 2018-02-01 04:23:34 -08:00
yuvipanda 4d19924180 Use inheritance to define composed buildpacks
- This is much cleaner to understand than traitlets
- Remove 'name' and 'component' traitlets
2018-02-01 04:23:34 -08:00
yuvipanda e913fce474 Cache python_version detection in conda buildpack 2018-02-01 02:42:17 -08:00
yuvipanda bcf3aedce2 Fix failing Julia test 2018-02-01 02:13:19 -08:00
yuvipanda 95c0170196 Be less clever in figuring out python version in conda
We can optimize this later
2018-02-01 02:10:59 -08:00
yuvipanda efe14e7580 Fix postBuild to work properly 2018-02-01 02:10:30 -08:00
yuvipanda 66ec915a23 Fix python version detection in conda 2018-02-01 01:52:36 -08:00
yuvipanda f32e8c1267 Move postbuild scripts to method from traitlet 2018-02-01 01:46:53 -08:00
yuvipanda 28bccecfff Switch assemble_scripts to use methods instead of traitlets 2018-02-01 01:43:14 -08:00
yuvipanda 42eb8e573c Convert build_script & build_script files to methods 2018-02-01 01:39:36 -08:00
yuvipanda c48e8d4586 Move labels from traitlet to method 2018-02-01 01:23:56 -08:00
yuvipanda d3c6703e9e Move path and env from traitlets to methods 2018-02-01 01:21:17 -08:00
yuvipanda dc653388f5 Use methods for packages and base packages, not traitlets 2018-02-01 01:11:40 -08:00
Yuvi Panda 8a5b1ef7a2
Merge pull request #189 from mukundans91/handleDockerErrors
Added checks to gracefully handle docker connect errors
2018-01-24 20:06:41 -08:00
yuvipanda 09843f5439 Bump to artful
Zesty fell out of support on Jan 13, and the packages have
started disappearing from http://archive.ubuntu.com/ubuntu/ and
other mirrors as of today. This will totally screw up our
build processes whenever it hits the mirror we use.
2018-01-17 17:11:29 -08:00
Mukundan Sundararajan 515db356bf Added checks to gracefully handle docker connect errors
Print actual error message on Docker client init errors
2018-01-11 17:43:29 -08:00
Mukundan Sundararajan 549bd9663b add ability for port mapping to work with non jupyter-workflow
Added tests for port mapping
Added tests for publish all exposed ports
Added argument validation for ports argument
Added short form for argument publish. Changed variable name port to ports.
2018-01-11 16:49:09 -08:00
yuvipanda 9fa8f21668 Refreeze conda environment
This broke out of the blue, causing CI to fail - see
https://github.com/jupyter/repo2docker/pull/180#issuecomment-356805582
2018-01-10 23:52:16 -08:00
Romain Primet d5d9b894b6 change parameter handling to 'action=append' 2018-01-09 08:22:38 +00:00
Romain Primet 5f95a5ddd3 Provide a flag to pass environment variables at runtime 2018-01-08 19:58:34 +00:00
Min RK 58ce29f61d allow installing 'broken' packages for frozen env
If a package we froze is later marked as broken, don't prevent installation.

Broken packages are lowest priority, so only allowed for those pinned in our frozen env
2018-01-08 17:08:13 +01:00
Min RK c2ae937b61 refreeze conda environments
gets a few updates, but fixes issue with noarch wheel package that has been identified as broken.
2018-01-08 14:48:41 +01:00
Yuvi Panda 839de1ee1b
Merge pull request #182 from minrk/conda-python-runtime
conda: separate base envs by Python version
2018-01-03 12:30:02 -08:00
Min RK 997009133d [conda] install python 2 in separate kernel env 2018-01-03 18:17:33 +01:00
Min RK 878fc33f1d select frozen env based on Python found in environment.yml
if env specifies a version of Python other than the default,
a different base env will be selected.

This should fix some issues where switching Python versions on the base env with a bunch of packages installed can fail,
and will always produce a huge amount of churn.

Future change:

- place py2 in a separate env, like we do for requirements.txt
2018-01-03 17:14:03 +01:00
Min RK 5984a08e66 [conda] create separate frozen envs for Python versions
this will allow us to create different base envs based on Python major.minor versions
2018-01-03 16:38:19 +01:00
nmih 5e19c2653b Fix indentation causing only last line of apt.txt to be parsed 2017-12-31 01:38:04 -08:00
Mukundan Sundararajan 9e2edb910a Fixed run argument check for mounting volumes. Refactored argument validation test. 2017-12-24 15:03:09 -08:00
Yuvi Panda 5293080add
Merge pull request #175 from mukundans91/validateImageName
Added regex pattern based validation for image name argument
2017-12-23 15:11:02 -08:00
Mukundan Sundararajan 174c8000d2 Removed class and added function to validate docker image name 2017-12-22 19:45:16 -08:00
Mukundan Sundararajan b6414c3ef4 Added a regex based patter definition for Image name 2017-12-22 16:17:32 -08:00
Mukundan Sundararajan f04aa4da97 Changed to google style docstrings. Added image_name validation test. 2017-12-22 03:38:58 -08:00
yuvipanda 84c65445d2 Add missing import 2017-12-21 14:30:10 -08:00
yuvipanda 5674c0f7c6 Default username and user_id to currently running user
This is the defaults that you want if you are using r2d on your
local computer.
2017-12-21 14:01:22 -08:00
Aaron Watters 5da8bcba33 Add default command to base Dockerfile template 2017-12-21 11:51:19 -05:00
Mukundan Sundararajan 5372b09333 Added lowercase validation for image name argument 2017-12-20 19:41:20 -08:00
yuvipanda e4410b9caf Fix legacydockerbuilder to also take args 2017-12-19 16:13:06 -08:00
yuvipanda 25177f0343 Set $USER environment variable in built images
Lots of code looks for this. This is generally set by PAM or
somesuch I believe. Let's set it explicitly!
2017-12-19 13:05:33 -08:00
yuvipanda 66ad81d42b Fix error message + fix some formatting 2017-12-19 12:49:53 -08:00
yuvipanda 8f36572770 Allow passing in uid and username of user built into image
This allows volumes to properly respect the uid of the user
from the host. Much easier than using user namespaces
2017-12-19 12:46:22 -08:00
yuvipanda 988f9dded8 Add support for relative paths in the volume destination too 2017-12-19 11:32:59 -08:00
yuvipanda 0c0d921276 Set default for volumes in argparse
This prevents code from failing when volumes are not specified
2017-12-19 11:15:43 -08:00
yuvipanda e6a13eb8ba Allow mounting arbitrary volumes into the repo2docker container
Tries to mimick the docker run '-v' syntax, but only supports
rw volumes for now. Source can be a relative path, but destination
needs to be an absolute path.
2017-12-19 11:04:20 -08:00
yuvipanda f5ca9aedb0 Upgrade base packages
- Bump JupyterLab to latest
- Run freeze.py (conda) and freeze.bash (venv) to get new dependent
  packages, primarily newer ipykernel and ipywidgets
- Remove some over-specification in environment.yml
2017-12-16 14:13:40 -08:00
Yuvi Panda e151f77d3a
Merge pull request #143 from betatim/pep8-roller
Apply PEP8 style roller
2017-12-08 12:22:53 -05:00
Tim Head b893463735 Apply PEP8 style roller 2017-12-08 15:32:21 +01:00
Min RK 844023c96f update conda to 4.3.30 2017-12-07 10:13:20 +01:00
Min RK 4688dcc0ae freeze conda environment.yml as well
like python, run freeze in a docker container for portability
2017-12-04 17:34:43 +01:00
Min RK d21d9a7b7c
Merge pull request #151 from GladysNalvarte/master
fixing empty lines and comments in apt.txt
2017-12-01 12:24:42 +01:00
yuvipanda 2db2fd7543 Remove extra - in argparse definition 2017-11-30 17:23:00 -08:00
yuvipanda c3ec9c9fa8 s/memoryswap/memswap/
Since clearly the equivalent of 'memory' is 'memswap' grumble
2017-11-30 17:17:03 -08:00
yuvipanda 86c24c1a18 Set limits for how much memory docker build can use
This prevents builds from gobbling all the RAM on a node!
2017-11-30 17:14:42 -08:00
Gladys Nalvarte 82b0275a29 fixing empty lines and comments in apt.txt 2017-11-30 15:50:40 +01:00
Min RK bd3bf07ebe sync conda versions with venv versions 2017-11-30 13:17:12 +01:00
Min RK 5f613bf1f7 bump ipywidgets to 6.0.1 2017-11-30 13:17:12 +01:00
Min RK 5ba9fb0b56 run freeze-requirements in docker
avoids mismatch between freeze env and 'real' env, e.g. running on mac, where dependencies differ,
or running with Python 3.4 vs 3.5, etc.
2017-11-30 13:17:12 +01:00
Min RK 3290f93512 fix cd to python dir in freeze.bash
- cd was missing, instead the directory was being printed
- readlink doesn't exist on BSD
2017-11-30 13:17:12 +01:00
yuvipanda ef07e723b2 Update JupyterLab version 2017-11-30 03:51:09 -08:00
yuvipanda ac6659e553 Use fully frozen requirements.txt for venv
Fixes #154

There's also a 'freeze.bash' script that'll generate the frozen
versions from the unfrozen versions at current date.
2017-11-30 01:44:41 -08:00
yuvipanda a84e8ebcf5 Use requirements.txt for installing base packages in requirements.txt
Lets us move to a frozen requirements.txt that can be automated
soon.
2017-11-30 01:44:33 -08:00
yuvipanda c43d45ce21 Move conda support files next to the code
Better than in a separate files dir IMO
2017-11-30 01:44:25 -08:00
yuvipanda a52d49636c Remove unused imports in buildpack files 2017-11-30 01:29:40 -08:00
yuvipanda 1ddaf0bcb1 Split detectors.py into individual files
These were buildpacks now anyway, not detectors.
2017-11-30 01:29:40 -08:00
Chris Holdgraf e78c769eba verbose env update 2017-11-29 13:40:45 -08:00
yuvipanda 0d25d9a38f Bump anaconda notebook down to 5.0 again
Doesn't have 5.2 either
2017-11-29 11:44:27 -08:00
yuvipanda 0e7e82a542 Bump legacy Dockerfile notebook down to 5.2.0
5.2.2 doesn't exist in anaconda channels...
2017-11-29 11:05:30 -08:00
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