Skip to content

CakeML/regression

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d4a51ef · Feb 23, 2025
Feb 23, 2025
Sep 30, 2020
Nov 8, 2017
Sep 30, 2020
Jan 11, 2019
Jan 24, 2024
Jan 21, 2019
Nov 9, 2017
Dec 29, 2017
Jan 26, 2024
May 22, 2019
Feb 22, 2025
Feb 23, 2025
Nov 15, 2017
Jul 24, 2024
Jul 19, 2024

Repository files navigation

Automated regression test infrastructure for CakeML.

apiLib.sml: The API that the server and worker agree on.

flock.sml: Maintenance tool: acquire the lock that is used by the server to run a command without interfering with the server.

server.sml: Implements the server-side regression-test API as a CGI program.

serverLib.sml: Functions for manipulating the queues in the filesystem on the server, including for getting information from GitHub with which to update them.

utilLib.sml: Small library of useful code.

worker.sml: Worker that claims and runs regression test jobs.

Dockerfile: Worker docker container for easy deployment:

docker build -t oven .
# Unlimited RAM (only for dedicated machines w/ ample swap)
docker run -d --hostname=my-builder-name --name=container-name oven

# OR: Limit RAM to 70,000 MB
docker run -d --hostname=my-builder-name --name=container-name \
    -e POLY_CLINE_OPTIONS="--maxheap 70000" oven

# Maintenance commands
docker exec container-name /oven/worker --help

# Skip 20 minute timeout after a refresh
docker exec container-name killall curl