aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/protoc.py (unfollow)
Commit message (Collapse)AuthorLines
2021-02-04Document configuration thoroughlyGravatar MarkKoz-1/+41
2021-02-04Fix coverage ownership when running testsGravatar MarkKoz-1/+2
2021-02-04Document how to update NsJailGravatar MarkKoz-0/+10
2021-02-04Replace protoc shell script with a Python oneGravatar MarkKoz-15/+63
2021-02-04Rename "snekbox" script to "webserver" in PipfileGravatar MarkKoz-1/+1
The new name better conveys what the script does.
2021-02-04Replace dev.sh with Docker ComposeGravatar MarkKoz-106/+38
Managing development containers through Docker Compose is convenient. However, it isn't quite flexible enough to facilitate both development and normal use. It's not really worth accommodating the latter since the container gets pushed to a registry and that's the intended way to run the service. Anyone that is checking out the repository and therefore has access to the compose file is likely a developer, not a user.
2021-02-04Categorise and sort scripts in PipfileGravatar MarkKoz-12/+14
2021-02-04Move development environment guide to a separate fileGravatar MarkKoz-94/+99
The information is only relevant to developers. The README is what all users will read; they shouldn't be subject to information that isn't necessarily relevant to them.
2021-02-02Fix typo in error messageGravatar Mark-1/+1
2021-01-22Remove trailing whitespaces from the READMEGravatar Matteo Bertucci-1/+1
2021-01-22Update the README badgesGravatar Matteo Bertucci-1/+6
2021-01-14Fix typo in READMEGravatar Mark-1/+1
2021-01-12CI: don't do a user install for pre-commitGravatar MarkKoz-1/+2
2021-01-12Docker: update pipenvGravatar MarkKoz-1/+1
2021-01-12Fix caching of exposed packagesGravatar MarkKoz-16/+14
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.
2021-01-11Docker: simplify pipenv install commandGravatar MarkKoz-6/+1
2021-01-11Docker: add comments to separate stagesGravatar MarkKoz-0/+3
2021-01-11Docker: move env var definitions to the base stageGravatar MarkKoz-1/+5
Just a refactor.
2021-01-11Force extant packages to install to the user site too during deploymentGravatar MarkKoz-1/+1
Fix #89
2021-01-10Replace nsjpy alias with a Python scriptGravatar MarkKoz-27/+33
The Python script uses the same underlying code Falcon uses to invoke nsjail. It allows for the omission of redundant shell code that set up cgroups and nsjail args. This is also a step towards removing dependence on shell scripts and thus resolving #73.
2021-01-10Support overriding nsjail config values with additional argumentsGravatar MarkKoz-2/+8
2021-01-10Add comments to justify why cgroup limits are set manuallyGravatar MarkKoz-1/+7
2021-01-10Add error handling to reading of the nsjail configGravatar MarkKoz-2/+16
2021-01-10Read the Python path and args from the config fileGravatar MarkKoz-3/+2
2021-01-10Read cgroup values from the config fileGravatar MarkKoz-18/+7
2021-01-10Read the nsjail config into a protobuf Message objectGravatar MarkKoz-0/+13
2021-01-10Compile the NsJail config protobuf into Python codeGravatar MarkKoz-1/+1265
Include a helper shell script for compilation.
2021-01-10Add protobuf as a dependencyGravatar MarkKoz-4/+29
2021-01-09Removing trailing whitespaces from README.mdGravatar MarkKoz-1/+1
2021-01-09CI: install git in the containerGravatar MarkKoz-0/+6
Pre-commit requires git.
2021-01-09CI: run pre-commit hooksGravatar MarkKoz-0/+6
2021-01-09CI: improve readability of some run commandsGravatar MarkKoz-5/+7
2021-01-09Re-arrange settings in .flake8 fileGravatar MarkKoz-11/+13
2021-01-09Add more pre-commit hooksGravatar MarkKoz-1/+17
Hooks added: * check-merge-conflict - checks for files with merge conflict strings * check-toml - attempts to load all toml files to verify syntax * check-yaml - attempts to load all yaml files to verify syntax * end-of-file-fixer - ensures files end in a newline and only a newline * mixed-line-ending - replaces mixed line endings with LF * trailing-whitespace - trims trailing whitespace * python-check-blanket-noqa - enforces that noqa annotations always occur with specific codes See: python-discord/organisation#138
2021-01-09Install pep8-namingGravatar MarkKoz-1/+17
It is a flake8 plugin which enforces PEP 8 naming conventions. Resolves #63
2021-01-09Update dev dependenciesGravatar MarkKoz-11/+11
2021-01-10Create dependency cache directory if not presentGravatar Joe Banks-1/+1
2021-01-10Remove erroneous slash from dependencies listGravatar Joe Banks-1/+1
2021-01-10Add leading slash to post-start commandGravatar Joe Banks-1/+1
2021-01-09CI: install numpyGravatar MarkKoz-1/+2
One of the unit tests depends on numpy.
2021-01-09Prevent setting GIT_SHA from invalidating the Docker layer cacheGravatar MarkKoz-2/+5
2021-01-09Document how to install additional packagesGravatar MarkKoz-1/+22
2021-01-09Swap out configMap for a hostPath for psuedo-persistenceGravatar Mark-2/+3
Co-authored-by: Joe Banks <[email protected]>
2021-01-09Add a Docker volume for the user baseGravatar MarkKoz-0/+13
2021-01-09Install exposed packages separately during deploymentGravatar MarkKoz-438/+100
2021-01-09Use a custom directory for exposed Python packagesGravatar MarkKoz-5/+7
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.
2021-01-02Changed Python language hook to system.Gravatar xithrius-1/+1
2020-12-20Fix getting Git SHA in workflowGravatar ks129-1/+1
2020-12-20Add Sentry release to SDK initializationGravatar ks129-1/+3