aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/dev.sh (follow)
Commit message (Collapse)AuthorAgeLines
* Replace dev.sh with Docker ComposeGravatar MarkKoz2021-02-04-65/+0
| | | | | | | | | | 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.
* Replace nsjpy alias with a Python scriptGravatar MarkKoz2021-01-10-2/+1
| | | | | | | | | 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.
* Add more pre-commit hooksGravatar MarkKoz2021-01-09-0/+1
| | | | | | | | | | | | | | | 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
* 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.
* Migrate build pipeline to Github ActionsGravatar Sebastiaan Zeeff2020-11-18-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've migrated the build pipeline to GitHub Actions and changed the container registry to GitHub Container Registry. In the process, I've made some changes to our docker setup and caching: - We are now using a single multi-stage Dockerfile Instead of three separate dockerfiles, we are now using a single multi-stage Dockerfile that can be used to build the three images we want using build targets. In part, this is because we're now using the docker buildx build action currently recommended by docker. This new engine runs in a sandboxed mode, meaning that while it can export built images to `docker` running in the host, it cannot import local images from it to base builds on. - Docker builds are now cached within GitHub Actions The builds are now cached using the GitHub Actions cache of the build cache directory. The cache keys try to match a cache generated by a build that matches the current build as closely as possible. In case of a cache miss, we fall back to caching from the latest image pushed to the container repository. - The `base` and `venv` images now have an inline cache manifest In order to fall back intelligently to caching from the repository, the final build and push action for the `base` and `venv` images includes an "inline" cache manifest. This means that the build process can inspect, without pulling, if it makes sense to pull layers to speed up the build. The other options, pushing a cache manifest separately (not inline), is currently not supported by GHCR. The custom caching script has been removed. - Linting errors are now added as GitHub Actions annotations Just like for some of our other pipelines, linting now generates annotations if linting errors are observed. - Coverage is pushed to coveralls.io A coverage summary is now pushed to coveralls.io. Each CI run will get a unique job that's linked in the CI output. If the run is attached to a PR, coveralls.io will automatically add a check link with the coverage result to the PR as well. - The README.md, Pipfile, docker-compose, and scripts have been updated As we now need to pull from and link to the GHCR, I've updated the other files to reflect these changes, including Pipfile run commands. I've also changed the CI badge and added a coveralls.io badge.
* Change CI and dev.sh to not use host network mode.Gravatar scragly2020-02-29-1/+0
|
* Disable shared memory in Docker containerGravatar MarkKoz2019-12-28-0/+1
|
* Use bash instead of ashGravatar MarkKoz2019-12-14-5/+5
| | | | Forgot to do this after switching to Debian.
* Add comments to Azure Pipelines YAMLGravatar MarkKoz2019-07-30-4/+5
| | | | | * Replace some shorthand Docker command options with their full names for clarity
* Fix coverage not finding sourcesGravatar MarkKoz2019-06-22-8/+17
| | | | | | * Mount volume to the same path as the source directory on the host * Keep the container up in the background so it doesn't have to be restarted or the ownership fix
* Fix ownership of coverage fileGravatar MarkKoz2019-06-22-1/+10
| | | | | | When coverage runs in a container, it is ran under root so the resulting coverage file is owned by root. chown is used to change ownership to be the same as the folder it is in.
* Create shell script for building a dev image and running a shellGravatar MarkKoz2019-06-22-0/+45
* Put scripts in a new scripts folder