Build docker image:
$ ./scripts/dockerbuild.sh all
$ docker build . -t hcr-example-multiRun server:
$ docker run --privileged --rm -it --stop-signal SIGINT -p 8080:8080 hcr-example-multi
2023-08-28T10:05:49.857389Z INFO hcr::server: listening on 0.0.0.0:8080Query supported programming languages:
$ grpcurl --plaintext 127.0.0.1:8080 languages.Languages/Index
{
"languages": [
{
"id": "c",
"name": "C (GCC 10.2.1)"
},
{
"id": "go",
"name": "Golang (1.19)"
},
{
"id": "python",
"name": "Python (3.10.6)"
}
]
}Run C code:
$ grpcurl -d '{ "lang": "c", "files": [{ "name": "main.c", "content": "#include <stdio.h>\nint main() { printf(\"Hello, World!\"); return 0; }" }] }' --plaintext 127.0.0.1:8080 runs.Runs/Create
{
"status": "OK",
"stdout": "Hello, World!",
"exitCode": 0,
"startTime": "2023-08-28T10:06:20.497337948Z",
"realTime": {
"nanos": 729977
},
"systemTime": {
"nanos": 697000
},
"userTime": {
},
"maxRss": "3416"
}Run Go code:
$ grpcurl -d '{ "lang": "go", "files": [{ "name": "main.go", "content": "package main\nimport \"fmt\"\nfunc main() { fmt.Println(\"こんにちは世界。\") }" }] }' --plaintext 127.0.0.1:8080 runs.Runs/Create
{
"status": "OK",
"stdout": "こんにちは世界。\n",
"exitCode": 0,
"startTime": "2023-08-28T13:35:47.809065474Z",
"realTime": {
"nanos": 1748005
},
"systemTime": {
},
"userTime": {
"nanos": 1576000
},
"maxRss": "3416"
}Run Python code:
$ grpcurl -d '{ "lang": "python", "files": [{ "name": "main.py", "content": "print(\"你好,世界!\")" }] }' --plaintext 127.0.0.1:8080 runs.Runs/Create
{
"status": "OK",
"stdout": "你好,世界!\n",
"exitCode": 0,
"startTime": "2023-08-28T13:36:15.806599898Z",
"realTime": {
"nanos": 34565068
},
"systemTime": {
},
"userTime": {
"nanos": 10640000
},
"maxRss": "8320"
}