aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* 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.
| * CI: cache the response from Azure APIGravatar MarkKoz2020-02-22-0/+11
| | | | | | | | | | | | The script may need to use the master commit several times. The easiest way to implement the cache was to just cache the response rather than the commit hash.
| * CI: fix job nameGravatar MarkKoz2020-02-21-1/+1
| | | | | | | | Hyphens are disallowed so they are replaced with underscores.
| * CI: merge build job with test jobGravatar MarkKoz2020-02-21-108/+42
| | | | | | | | | | * Remove duplicate build steps * Move push steps to a separate YAML file
| * CI: don't build venv image if it can be pulledGravatar MarkKoz2020-02-21-2/+10
| |
| * CI: check if venv image can be pulledGravatar MarkKoz2020-02-21-0/+6
| |
| * CI: create a function to check if an image can be pulledGravatar MarkKoz2020-02-21-13/+26
| |
| * CI: fix base image build conditionGravatar MarkKoz2020-02-21-1/+11
| | | | | | | | | | Build if the base changed or the venv changed and the base cannot be pulled.
| * CI: define default values for variablesGravatar MarkKoz2020-02-21-2/+7
| |
| * CI: don't use output variablesGravatar MarkKoz2020-02-21-6/+5
| | | | | | | | | | | | It was initially used to enable access to variables across jobs, but the jobs will eventually be consolidated into one so output variables will no longer be needed.
| * CI: compare variables against stringsGravatar MarkKoz2020-02-21-17/+17
| | | | | | | | Avoids type casting ambiguity and weirdness.
| * CI: install dev dependencies inside running containerGravatar MarkKoz2020-02-21-9/+15
| | | | | | | | | | This change allows for the venv image to be pushed since it won't be built with dev dependencies.
| * CI: diff base against master only if venv changedGravatar MarkKoz2020-02-21-16/+14
| |
| * CI: move lint & tests job into templatesGravatar MarkKoz2020-02-21-93/+97
| | | | | | | | Splitting steps into several files makes the YAML more maintainable.
| * CI: update agent to Ubuntu 18.04Gravatar MarkKoz2020-02-21-3/+2
| | | | | | | | * Use inherit_errexit in check_dockerfiles.sh
| * CI: add more logging in check_dockerfiles.shGravatar MarkKoz2020-02-21-0/+9
| |
| * CI: always check if the base image can be pulled from Docker HubGravatar MarkKoz2020-02-21-2/+6
|/
* Merge pull request #62 from ↵Gravatar Mark2020-02-21-141/+186
|\ | | | | | | | | python-discord/bug/ci/61/python-symlink-not-resolving Install Pipfile into system interpreter
| * CI: install Pipfile into system interpreterGravatar MarkKoz2020-02-21-141/+186
|/ | | | | | | | | | | A virtual environment is redundant in the context of deployment. It just increases the size and build time of the image. * Replace venv with system interpreter * Mount Python binaries in /usr/local/bin in NsJail * Fix #61: Python symlink in venv not resolving * Re-lock Pipfile because it wasn't up to date according to pipenv install --deploy
* Merge pull request #55 from python-discord/proper-chrootGravatar Mark2020-02-05-49/+172
|\ | | | | Configure a proper chroot jail for NsJail
| * Merge branch 'master' into proper-chrootGravatar Mark2020-02-05-0/+1
| |\ | |/ |/|
* | Update CODEOWNERSGravatar Joseph2020-02-02-1/+1
| |
* | Create CODEOWNERSGravatar Joseph2020-02-02-0/+1
| |
| * Update time limit in docstringGravatar Mark2020-02-05-1/+1
| | | | | | Co-Authored-By: Sebastiaan Zeeff <[email protected]>
| * Increase time limit from 2 to 5 secondsGravatar Joseph Banks2020-01-24-2/+2
| |
| * Fix #56: stdout and stderr outputs in wrong orderGravatar MarkKoz2020-01-11-3/+19
| |
| * Add test for importing numpyGravatar MarkKoz2019-12-28-0/+6
| | | | | | | | | | This is a test for #53, which fixed numpy failing to import due to using multiple threads by default.
| * Test root and direct children are read-onlyGravatar MarkKoz2019-12-28-7/+10
| |
| * Test shared memory is disabledGravatar MarkKoz2019-12-28-0/+27
| | | | | | | | Co-authored-by: 0xf0f <[email protected]>
| * Mount /usr/lib so ctypes can use libffiGravatar MarkKoz2019-12-28-0/+7
| |
| * Mount only what's needed in the chroot jailGravatar MarkKoz2019-12-28-37/+99
| | | | | | | | | | | | | | | | | | | | | | | | devfs and sysfs were problematic since they were being mounted as tmpfs, which is r/w. For example, the Python process could write to cgroups. Now, only what is needed to run Python gets mounted. This boils down to the venv itself and some shared libraries Python needs. * Use a config file for NsJail instead of command-line options * Map 65534 (nobody) user & group inside the user namespace to 65534 outside the namespace rather than mapping to current uid/guid (which was 0 AKA root)
| * Disable shared memory in Docker containerGravatar MarkKoz2019-12-28-0/+2
|/
* Merge pull request #53 from python-discord/limit-numpy-threadsGravatar Mark2019-12-16-0/+10
|\ | | | | Limit numpy to using 1 thread
| * Limit numpy to using 1 threadGravatar MarkKoz2019-12-16-0/+10
|/
* Merge pull request #52 from python-discord/ci-testGravatar Mark2019-12-16-0/+3
|\ | | | | CI: fix incorrect CWD for check script
| * CI: fix incorrect CWD for check scriptGravatar MarkKoz2019-12-16-0/+3
|/
* Merge pull request #51 from python-discord/3-external-libsGravatar Mark2019-12-16-36/+325
|\ | | | | Add external libraries and update image
| * Pin external dependenciesGravatar Matteo Bertucci2019-12-16-16/+16
| |
| * Install beautifulsoup4 pyyaml and tomlGravatar Matteo Bertucci2019-12-16-1/+47
| |
| * Install more-itertools and networkxGravatar Matteo Bertucci2019-12-16-4/+29
| |
| * Delete toml and yamlGravatar Matteo Bertucci2019-12-15-30/+1
| |
| * Use bash instead of ashGravatar MarkKoz2019-12-14-13/+13
| | | | | | | | Forgot to do this after switching to Debian.
| * Update the Python version in READMEGravatar MarkKoz2019-12-14-2/+2
| |
| * Add gcc to base containerGravatar MarkKoz2019-12-14-0/+1
| | | | | | | | | | A C compiler is needed for some of the Python libraries to build because they don't have wheels >:(