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