aboutsummaryrefslogtreecommitdiffstats
path: root/Dockerfile (follow)
Commit message (Collapse)AuthorAgeLines
* Add Slim Imagemulti-versionGravatar Hassan Abouelela2023-03-18-2/+5
| | | | | | | | Adds an image with only one python version installed. This can be useful in development environments for other projects where the multi-version features are less useful than a more efficient container. Signed-off-by: Hassan Abouelela <[email protected]>
* Add Multi-version CapabilityGravatar Hassan Abouelela2023-03-15-1/+9
| | | | | | | | | Adds support for having multiple evaluation python versions installed in the docker container. A utility to automatically generate correct dockerfile instructions and nsjail mounts based on the available versions is also included. Signed-off-by: Hassan Abouelela <[email protected]>
* Bump Python To 3.11Gravatar Hassan Abouelela2022-10-31-2/+2
| | | | | | | Upgrade build image, configuration files, and documentation to python 3.11. Signed-off-by: Hassan Abouelela <[email protected]>
* Remove unneeded backslash in DockerfileGravatar Chris Lovering2022-08-14-1/+1
|
* Fix typo in Dockerfile commentGravatar Mark2022-06-01-1/+1
| | | Co-authored-by: Matteo Bertucci <[email protected]>
* Docker: install package in image and use version to tag itGravatar MarkKoz2022-05-31-9/+10
|
* Specify wsgi_app in Gunicorn configGravatar MarkKoz2022-05-30-1/+1
|
* Remove redundant module for creating the WSGI appGravatar MarkKoz2022-05-30-1/+1
|
* Deps: use pip-tools instead of PipenvGravatar MarkKoz2022-05-29-11/+7
| | | | | | | | | | | | | Pipenv was limited to only "normal" and "dev" dependencies. pip-tools is more flexible, since each requirements file can be constrained by more than one other requirements file. This means CI can choose to only install coverage deps in the test job and linting deps in the lint job, but these dependencies will still be constrained by each other and by other requirements, so a developer will be able to install both sets simultaneously without conflicts. Use a Makefile to make up for the loss of Pipenv's scripts functionality.
* Disable pip version checks in the Docker imageGravatar MarkKoz2021-12-21-0/+1
|
* Update NsJailGravatar MarkKoz2021-12-20-6/+5
| | | | | | | The updated versions adds support for telling NsJail to set the max swap memory in the cgroup. Resolve #125
* Bumps Python Version To 3.10Gravatar Hassan Abouelela2021-10-11-2/+2
| | | | Signed-off-by: Hassan Abouelela <[email protected]>
* Docker: improve caching & install numpy in containerGravatar MarkKoz2021-03-07-3/+14
| | | | | | | | | | | | | CI was building the image twice: once with dev dependencies and again without. Separating the pipenv command into separate layers allows the second build in CI to take advantage of the cache for the base dependencies that it will share across both builds. Install numpy along with the dev dependencies within the container. Previously it was installed in CI only, but this meant extra work for those running tests locally. Install numpy to the correct site.
* Docker: update pipenvGravatar MarkKoz2021-01-12-1/+1
|
* Fix caching of exposed packagesGravatar MarkKoz2021-01-12-9/+8
| | | | | | | | | | | | | | | The problem with --ignore-installed is that it also ignores packages in the target site, therefore re-installing all packages and making caching futile. Install snekbox's dependencies to the default user site. During installation of the exposed packages, switch the user site to a custom one to ensure pip will not skip packages due to seeing them as already installed as one of snekbox's dependencies. If pip made the --root option ignore packages outside the root, then using --root would be the best solution. There is a 5+ year old issue open about that.
* Docker: simplify pipenv install commandGravatar MarkKoz2021-01-11-6/+1
|
* Docker: add comments to separate stagesGravatar MarkKoz2021-01-11-0/+3
|
* Docker: move env var definitions to the base stageGravatar MarkKoz2021-01-11-1/+5
| | | | Just a refactor.
* Prevent setting GIT_SHA from invalidating the Docker layer cacheGravatar MarkKoz2021-01-09-2/+5
|
* Use a custom directory for exposed Python packagesGravatar MarkKoz2021-01-09-1/+2
| | | | | | | | | | | | | | | | | Isolate snekbox's dependencies from the packages available within the Python interpreter. Disable Python's default behaviour of site-dependent manipulations of sys.path. The custom directory looks like a user site to allow `pip install --user` to work with it. However, snekbox will see it as simply an additional search path for modules rather than as a user site. Disable isolated mode (-I) because it implies (-E), which ignores PYTHON* environment variables. This conflicts with the reliance on `PYTHONPATH`. Specify `PYTHONUSERBASE` in the Dockerfile to make installing packages to expose more intuitive for users. Otherwise, they'd have to remember to set this variable every time they need to install something.
* Inject Git SHA to environment from build argumentGravatar ks1292020-12-20-1/+3
|
* Fix Dockerfile paths & revert error in DockerfileGravatar Sebastiaan Zeeff2020-11-19-1/+1
| | | | | I've fixed paths still pointing to the old Dockerfile location. I've also reverted an error that somehow got committed to the Dockerfile.
* Use repository caching for master buildGravatar Sebastiaan Zeeff2020-11-18-0/+63
One problem that our master builds may have is that they retain more and more layers of old builds, as there is no easy way of purging them from the cache. As such master cache would not have benefits over using repository-based caching, I've removed persistent local caching for non-PR builds.