Skip to content

oskarabrahamsson/regression

 
 

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

About

Regression testing infrastructure for CakeML

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Standard ML 93.9%
  • CSS 1.8%
  • Shell 1.7%
  • JavaScript 1.6%
  • Dockerfile 1.0%