No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
LiquidPL and accek Lock django-debug-toolbar version (#34)
* Lock django-debug-toolbar version

* Add an explanatory comment
Latest commit 337f681 Sep 23, 2018
Permalink
Failed to load latest commit information.
.github (no-ticket) Added Github Code Owners file May 15, 2018
.tx (no-ticket) Add js locale to transifex config Mar 6, 2013
extra/amanda SIO-1753 Create backup prototype May 19, 2016
oioioi Jenkins - Downloaded translations. Sep 12, 2018
oioioi_selenium (SIO-2087) Start work on porting oioioi to six. May 21, 2018
rst (SIO-2087) Start work on porting oioioi to six. May 21, 2018
.csslintrc [SIO-2051] Fixed csslint errors and added .csslintrc config file Jan 17, 2018
.gitignore (SIO-2097) Replace nose dependency with pytest May 11, 2018
.jshintignore [SIO-2051] Fixed jshint errors and updated .jshintrc and .jshintignore Jan 24, 2018
.jshintrc [SIO-2051] Fixed jshint errors and updated .jshintrc and .jshintignore Jan 24, 2018
.pep8rc SIO-2051 Fixed pep8 static_check errors after checkers update Dec 13, 2017
.pylintrc [SIO-2051] Fixed jshint errors and updated .jshintrc and .jshintignore Jan 24, 2018
Dockerfile (SIO-2094) Fix Selenium tests Jenkins build May 15, 2018
Dockerfile.base (no-ticket) Updated oioioi to use filetracker 2.1. May 31, 2018
Dockerfile.dev SIO-1997 Selenium tests Jun 6, 2017
INSTALL.rst (no-ticket) Updated oioioi to use filetracker 2.1. May 31, 2018
LICENSE initial commit Sep 2, 2012
MANIFEST.in added missing */tests to MANIFEST.in Sep 3, 2012
README.rst (no-ticket) Fixed README formatting May 29, 2018
UPGRADING.rst SIO-2101 Create Portal's main page Jun 13, 2018
Vagrantfile (no-ticket) Updated oioioi to use filetracker 2.1. May 31, 2018
conftest.py (no-ticket) Finished porting to pytest May 15, 2018
docker-compose-dev.yml SIO-1997 Selenium tests Jun 6, 2017
docker-compose-selenium.yml (SIO-2094) Fix Selenium tests Jenkins build May 15, 2018
docker-compose.yml SIO-1997 Selenium tests Jun 6, 2017
ez_setup.py (SIO-2087) Start work on porting oioioi to six. May 21, 2018
oioioi_init.sh (SIO-2094) Fix Selenium tests Jenkins build May 15, 2018
pytest.ini (no-ticket) Use --nomigrations by default May 31, 2018
requirements.txt (no-ticket) Updated filetracker to version 2.0. May 21, 2018
requirements_py3.txt (SIO-2087) Start work on porting oioioi to six. May 21, 2018
setup.py Lock django-debug-toolbar version (#34) Sep 23, 2018
test.sh (no-ticket) Finished porting to pytest May 15, 2018
test_report.css (no-ticket) Finished porting to pytest May 15, 2018
test_selenium.sh (no ticket) Fixed a typo in test_selenium.sh Oct 4, 2017
tox.ini (SIO-2087) Start work on porting oioioi to six. May 21, 2018
upgrade_package.tar SIO-1597 Fix the Django 1.7 upgrade script Jan 22, 2015
wait-for-it.sh SIO-1909 Dockerfile created May 23, 2017
worker_init.sh SIO-1997 Selenium tests Jun 6, 2017

README.rst

OIOIOI

https://hudson.sio2project.mimuw.edu.pl/job/oioioi-nightly-unittests/badge/icon

SIO2 is a free platform for carrying out algorithmic contests and OIOIOI is its main component — the web interface.

Installation

Vagrant (for development)

You can easily start development and run oioioi out of the box with vagrant. Just enter the directory where Vagrantfile and this README are placed, and type:

vagrant up

It will create an instance of virtual machine with web server and judges running.

You can specify configuration in vagrant.yml. Supported configuration options (with example):

port: 8001  # run oioioi on port 8001 instead of the default 8000
runserver_cmd: runserver_plus  # use manage.py runserver_plus instead of manage.py runserver

Docker (for deployment)

Additionally, there are available docker files to create images containing our services.

To start with, create oioioi-base image with a command:

docker build -t oioioi-base -f Dockerfile.base .

To run the infrastructure:

docker-compose up

To start additional number of workers:

docker-compose scale worker=<number>

as described in Docker docs.

Docker (for development)

It is possible to develop using docker images, but this we do not recommend it. Better use Vagrant or install OIOIOI manually, as described in the next section.

To develop with docker after creating oioioi-base image, create oioioi image with:

docker build -t oioioi .

Then run:

OIOIOI_UID=$(id -u) docker-compose -f docker-compose-dev.yml up

to start the infrastructure in development mode. Current dirrectory with source code will be binded to /sio2/oioioi/ inside running container, and logs from services will be availible outside of the container in ./logs/.

In both cases, oioioi web interface will be availible at localhost:8000, and the user admin with password admin will be created. If you are using docker installation in production encvironment remember to change the password.

Manual installation

See INSTALL for instructions.

Upgrading

See UPGRADING for instructions.

Backup

Amanda is recommended for doing OIOIOI backups. Sample configuration with README is available in extra/amanda directory.

For developers

Documentation for developers:

Testing

OIOIOI has a big suite of unit tests. You can run them in following way:

  • test.sh - a simple test runner, use from virtualenv
  • test_selenium.sh - long selenium tests, use from virtualenv
  • tox [path/to/module[::TestClass[::test_method]]] [-- arg1 arg2 ...] - runs pytest in isolated environemnt

Supported args:

  • -n NUM - run tests using NUM CPUs
  • -v - increase verbosity
  • -q - decrease verbosity
  • -x - exit after first failure
  • -lf - runs only tests that failed last time
  • --runslow - runs also tests marked as slow

Usage

Well, we don't have a full-fledged User's Guide, but feel free to propose what should be added here.

Creating task packages

To run a contest, you obviously need some tasks. To add a task to a contest in OIOIOI, you need to create an archive, called task package. Here are some pointers, how it should look like:

Contact us

Here are some useful links: