add build mechanism for nng

pull/54/head
Alexander Bentkamp 3 years ago
parent 7992cffa26
commit dac15d84b5

@ -10,6 +10,10 @@ lake update
cp lake-packages/mathlib/lean-toolchain lean-toolchain cp lake-packages/mathlib/lean-toolchain lean-toolchain
cp lake-packages/mathlib/lean-toolchain ../leanserver/lean-toolchain cp lake-packages/mathlib/lean-toolchain ../leanserver/lean-toolchain
cp lake-packages/mathlib/lean-toolchain ../nng/lean-toolchain
cd ../leanserver cd ../leanserver
lake update lake update
cd ../nng
lake update

@ -56,7 +56,7 @@
}, },
"scripts": { "scripts": {
"start": "concurrently -n server,client -c blue,green \"npm run start_server\" \"npm run start_client\"", "start": "concurrently -n server,client -c blue,green \"npm run start_server\" \"npm run start_client\"",
"start_server": "cd server && (cd leanserver && lake build) && (cd testgame && lake exe cache get && lake build) && NODE_ENV=development nodemon -e mjs --exec \"node ./index.mjs\"", "start_server": "cd server && (cd leanserver && lake build) && (cd testgame && lake exe cache get && lake build) && (cd nng && lake build) && NODE_ENV=development nodemon -e mjs --exec \"node ./index.mjs\"",
"start_client": "NODE_ENV=development webpack-dev-server --hot", "start_client": "NODE_ENV=development webpack-dev-server --hot",
"build": "npm run build_server && npm run build_client", "build": "npm run build_server && npm run build_client",
"build_server": "server/build.sh", "build_server": "server/build.sh",

@ -6,6 +6,16 @@ cd $(dirname $0)
# Build elan image if not already present # Build elan image if not already present
docker build --pull --rm -f elan.Dockerfile -t elan:latest . docker build --pull --rm -f elan.Dockerfile -t elan:latest .
# Build testgame
(cd testgame && lake exe cache get && lake build) (cd testgame && lake exe cache get && lake build)
docker rmi testgame:latest || true docker rmi testgame:latest || true
docker build --rm -f server.Dockerfile -t testgame:latest . docker build \
--build-arg GAME_DIR=testgame \
--rm -f server.Dockerfile -t testgame:latest .
# Build NNG
(cd nng && lake build)
docker rmi nng:latest || true
docker build \
--build-arg GAME_DIR=nng \
--rm -f server.Dockerfile -t nng:latest .

@ -45,7 +45,8 @@ function startServerProcess(gameId) {
["--server", gameId, games[gameId].module, games[gameId].name], ["--server", gameId, games[gameId].module, games[gameId].name],
{ cwd: "./leanserver/build/bin/" }) { cwd: "./leanserver/build/bin/" })
: cp.spawn("docker", : cp.spawn("docker",
["run", "--runtime=runsc", "--network=none", "--rm", "-i", `${gameId}:latest`], ["run", "--runtime=runsc", "--network=none", "--rm", "-i", `${gameId}:latest`,
"./gameserver", "--server", gameId, games[gameId].module, games[gameId].name],
{ cwd: "." }) { cwd: "." })
serverProcess.on('error', error => serverProcess.on('error', error =>
console.error(`Launching Lean Server failed: ${error}`) console.error(`Launching Lean Server failed: ${error}`)

@ -1,10 +1,11 @@
ARG GAME_DIR
FROM elan:latest FROM elan:latest
WORKDIR / WORKDIR /
# Copy lean files # Copy lean files
COPY leanserver ./leanserver COPY leanserver ./leanserver
COPY testgame ./testgame COPY $GAME_DIR ./$GAME_DIR
# TODO: make `testgame` a build argument # TODO: make `testgame` a build argument
WORKDIR /leanserver WORKDIR /leanserver
@ -12,4 +13,3 @@ RUN rm -f ./build/bin/gameserver
RUN lake build RUN lake build
WORKDIR /leanserver/build/bin/ WORKDIR /leanserver/build/bin/
CMD ["./gameserver", "--server", "testgame", "TestGame", "TestGame"]

Loading…
Cancel
Save