aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Test in-run caching without initial pushsebastiaan/backend/test-repository-cachingGravatar Sebastiaan Zeeff2020-11-18-36/+36
|
* Remove intentional linting errorsGravatar Sebastiaan Zeeff2020-11-18-1/+1
|
* Test build with load instead of push in venv buildGravatar Sebastiaan Zeeff2020-11-18-1/+2
|
* Partially invalidate cache by changing fileGravatar Sebastiaan Zeeff2020-11-18-1/+1
|
* Partially invalidate cache by changing fileGravatar Sebastiaan Zeeff2020-11-18-0/+1
|
* Second build to test cachingGravatar Sebastiaan Zeeff2020-11-18-4/+4
|
* Disable load in buildx stepGravatar Sebastiaan Zeeff2020-11-18-1/+0
|
* Test build with only repository-based cachingGravatar Sebastiaan Zeeff2020-11-18-29/+9
|
* Rectify production branch and clean up formattingGravatar Sebastiaan Zeeff2020-11-18-14/+15
|
* Remove escape sequence and improve job nameGravatar Sebastiaan Zeeff2020-11-18-2/+2
| | | | | | I accidentally escaped a single quote in a run command; I've removed it now. I also changed the job name to `lint-test-build-push` to better reflect the contents of the job.
* Remove CI dependency that is no longer in useGravatar Sebastiaan Zeeff2020-11-18-51/+46
| | | | | | Now we've migrated to GitHub Actions, we don't need have XML reports of our unit tests as we're no longer using the Azure test result application.
* Migrate build pipeline to Github ActionsGravatar Sebastiaan Zeeff2020-11-18-375/+289
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge pull request #78 - Update to Python 3.9Gravatar Mark2020-11-15-280/+290
|\
| * Update Python binary mount path in nsjail configGravatar MarkKoz2020-11-14-2/+2
| |
| * Update pipenv in base Docker imageGravatar MarkKoz2020-11-14-1/+1
| |
| * Use flake8 from pipenv when running pre-commit hooksGravatar MarkKoz2020-11-14-12/+7
| |
| * Update to Python 3.9Gravatar MarkKoz2020-11-14-265/+280
|/
* Merge pull request #77 - Add `lark` to available importsGravatar Mark2020-10-30-139/+171
|\
| * re-lock with 'lark'Gravatar decorator-factory2020-10-30-139/+170
| |
| * Update PipfileGravatar decorator-factory2020-10-30-0/+1
|/
* Merge pull request #72 from python-discord/python-LevenshteinGravatar Mark2020-07-31-218/+251
|\ | | | | Add python-levenshtein and sort Pipfile (dev)packages
| * Sort Pipfile packages & dev-packagesGravatar TizzySaurus2020-07-31-19/+19
| |
| * Add python-LevenshteinGravatar TizzySaurus2020-07-31-200/+233
|/
* Merge pull request #70 from neonsea/clarify-readmeGravatar Mark2020-03-29-1/+1
|\ | | | | add --dev flag to readme
| * add --dev flag to readmeGravatar Rasmus Moorats2020-03-29-1/+1
|/
* Merge pull request #69 from python-discord/bug/ci/66/pipenv-run-creates-venvGravatar Mark2020-03-24-17/+17
|\ | | | | Fix venv being created in Dockerfile
| * Fix #66: venv being created in containerGravatar MarkKoz2020-03-23-2/+2
| | | | | | | | | | `pipenv run` creates a venv because it cannot detect that a --system install was done. The solution is to invoke gunicorn directly.
| * Use a config file for gunicornGravatar MarkKoz2020-03-23-9/+6
| | | | | | | | | | This will make it easy to maintain a consistent config without relying on invocation via pipenv.
| * Move snekbox.cfg to a config directoryGravatar MarkKoz2020-03-23-6/+9
|/ | | | | There will be more config files to come so it's cleaner to have them together than littering the root directory with more files.
* Merge pull request #68 from python-discord/feat/doc/57/docker-run-cmdGravatar Mark2020-03-23-32/+29
|\ | | | | Document a simpler way to run snekbox
| * Fix a grammatical error in README.mdGravatar MarkKoz2020-03-23-1/+1
| |
| * Replace NsJail config details with a reference to snekbox.cfgGravatar MarkKoz2020-03-23-29/+3
| | | | | | | | | | | | As convenient as it may be, it is redundant to list out the config in the docs. It also may fall out of sync with the actual config should someone forget to update the docs.
| * Use reference links in README.mdGravatar MarkKoz2020-03-23-7/+18
| | | | | | | | Makes the Markdown less cluttered when editing it.
| * Document a simple way to run the container from Docker HubGravatar MarkKoz2020-03-23-0/+12
|/ | | | | | | | The current run instructions are geared towards developers. A simpler way to run snekbox is to start a container with `docker run` via the image published on Docker Hub. Resolves #57
* Merge pull request #67 from python-discord/update-contribGravatar Mark2020-03-21-23/+36
|\ | | | | Update contributor doc
| * Update contributor docGravatar S. Co12020-03-20-23/+36
|/
* Merge pull request #65 from python-discord/sentry-integrationGravatar Mark2020-03-08-24/+71
|\ | | | | Add sentry integration
| * Relock pipfile.lock with new dependancy.Gravatar scragly2020-03-09-24/+62
| |
| * Update PipfileGravatar Joseph2020-03-08-1/+1
| | | | | | Co-Authored-By: Mark <[email protected]>
| * Add sentryGravatar Joseph Banks2020-03-08-0/+9
|/
* Merge pull request #59 from python-discord/composeGravatar Mark2020-02-28-5/+4
|\ | | | | Use port mapping, change container name to snekbox.
| * Change CI and dev.sh to not use host network mode.Gravatar scragly2020-02-29-2/+0
| |
| * Merge branch 'master' of github.com:python-discord/snekbox into composeGravatar scragly2020-02-29-354/+406
| |\ | |/ |/|
* | Change snekbox timeout to 6 seconds.Gravatar scragly2020-02-29-1/+1
| | | | | | This is to attempt to avoid matching the bot's typing event being resent at the 5 second mark, which seems to be causing it to hang around after the timeout message.
* | Merge pull request #54 from python-discord/ci-improvementsGravatar Mark2020-02-27-212/+219
|\ \ | | | | | | CI Improvements
| * | CI: fix can_pull causing script to exit with code 1Gravatar MarkKoz2020-02-23-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Error handling is performed inside can_pull so the callers of the function don't always check its exit code. Because set -e present, if can_pull returns 1, bash would consider that function a failed call and thus exit the entire script with code 1. That, in turn, would cause the CI job to fail.
| * | CI: output flake8 to stdout (resolve #37)Gravatar MarkKoz2020-02-22-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Azure website has proven to not be reliable for displaying the JUnit output. Furthermore, some may simply prefer the format of the output in the terminal over the JUnit representation on the Azure site. Nevertheless, the JUnit output isn't that bad (when there's actually a lint error) so it will remain for now. It also provides historical statistics on occurrences of errors, which is kind of cool, I guess...
| * | CI: don't run commands through pipenvGravatar MarkKoz2020-02-22-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since #62, the dependencies have been installed to the system interpreter. Therefore, it's not necessary to run through pipenv to ensure the commands run through an activated virtual environment. This should also fix pipenv run creating a virtual environment. It seems it cannot tell when it should be using the system interpreter. It probably wasn't designed for that anyway i.e. the intent was to run commands directly in such case, which is what this PR will do.
| * | CI: log when the build cache is usedGravatar MarkKoz2020-02-22-0/+1
| | |
| * | CI: fix unbound variable error when checking cacheGravatar MarkKoz2020-02-22-1/+1
| | | | | | | | | | | | The array shouldn't be expanded when testing with -v.