Getting Started: Docker - ANLAB-KAIST/KENSv3 GitHub Wiki
Prerequisites
Install Docker
Prepare project
- Pull latest Docker image
$ docker pull ghcr.io/anlab-kaist/kens:latest
- Make empty
workspace
directory - Run Docker container
docker run -it -v$PWD/workspace:/workspace ghcr.io/anlab-kaist/kens:latest dev
- Now, project files are available in the workspace directory
Build and test
See Getting Started: CLI (Linux)
Grading
We use Docker for grading
- Grading parts
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-open
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-bind
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-handshake
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-close
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-transfer
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-open-unreliable
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-bind-unreliable
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-handshake-unreliable
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-close-unreliable
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-transfer-unreliable
$ docker run -v$PWD/workspace/app/routing:/submission:ro ghcr.io/anlab-kaist/kens:latest grade routing routing-all
- Using
RANDOM_SEED
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-open
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-bind
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-handshake
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-close
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-transfer
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-open-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-bind-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-handshake-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-close-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-transfer-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/routing:/submission:ro ghcr.io/anlab-kaist/kens:latest grade routing routing-all