From 5b1b6ba87e1b3f3272a0b2ad6a5a54b8b2997ef6 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Mon, 14 Mar 2022 17:45:44 +0000 Subject: [PATCH 1/6] updated dockerfile to compile the react app --- www/Dockerfile | 27 +++++++++++++++++++++++- www/frontends/compiler_gym/.dockerignore | 1 + www/frontends/compiler_gym/package.json | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 www/frontends/compiler_gym/.dockerignore diff --git a/www/Dockerfile b/www/Dockerfile index 14a8badbb..627d64640 100644 --- a/www/Dockerfile +++ b/www/Dockerfile @@ -1,5 +1,30 @@ # syntax=docker/dockerfile:1 +# #################### +# Web App - Build +# #################### +FROM node:16.8.0 as builder + +ARG API_ENDPOINT + +WORKDIR /usr/src/react_web_app +# copy npm package and lock file +COPY frontends/compiler_gym/package.json frontends/compiler_gym/package-lock.json ./ +RUN --mount=type=cache,target=/usr/src/react_web_app/.npm --mount=type=cache,target=/usr/src/react_web_app/node_modules \ + npm install + +# copy remaining UI code. +COPY frontends/compiler_gym/public public +COPY frontends/compiler_gym/src src + +# configure api endpoint +RUN echo REACT_APP_API_HOST=${API_ENDPOINT} > .env.production + +# Compile frontend +RUN --mount=type=cache,target=/usr/src/react_web_app/.npm --mount=type=cache,target=/usr/src/react_web_app/node_modules \ + npm run build + + FROM python:3.8-slim-buster WORKDIR /app @@ -23,6 +48,6 @@ RUN pip3 install --no-cache-dir -r requirements.txt RUN python3 -m compiler_gym.bin.service --env=llvm-v0 COPY www.py . -COPY frontends/compiler_gym/build frontends/compiler_gym/build +COPY --from=builder /usr/src/react_web_app/build frontends/compiler_gym/build CMD [ "python3", "www.py"] diff --git a/www/frontends/compiler_gym/.dockerignore b/www/frontends/compiler_gym/.dockerignore new file mode 100644 index 000000000..07e6e472c --- /dev/null +++ b/www/frontends/compiler_gym/.dockerignore @@ -0,0 +1 @@ +/node_modules diff --git a/www/frontends/compiler_gym/package.json b/www/frontends/compiler_gym/package.json index aa3cd8dc7..a323375c9 100644 --- a/www/frontends/compiler_gym/package.json +++ b/www/frontends/compiler_gym/package.json @@ -24,7 +24,7 @@ }, "scripts": { "start": "react-scripts start", - "build": "react-scripts --openssl-legacy-provider build", + "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, From 23ce0ac52946eb61638d5470c4915bdac9ddae2c Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Mon, 14 Mar 2022 20:33:51 +0000 Subject: [PATCH 2/6] Fix for bocker build on web. --- www/Dockerfile | 26 +++++++++++++++++++++- www/frontends/compiler_gym/.dockerignore | 2 ++ www/frontends/compiler_gym/.env.production | 2 +- www/frontends/compiler_gym/package.json | 2 +- 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 www/frontends/compiler_gym/.dockerignore diff --git a/www/Dockerfile b/www/Dockerfile index 14a8badbb..f22234a77 100644 --- a/www/Dockerfile +++ b/www/Dockerfile @@ -1,5 +1,29 @@ # syntax=docker/dockerfile:1 +# #################### +# React Web App - Build +# #################### +FROM node:16.8.0 as builder + +WORKDIR /usr/src/app + +# Copy npm package info +COPY frontends/compiler_gym/package.json frontends/compiler_gym/package-lock.json ./ + +# Instal npm packages +RUN --mount=type=cache,target=/usr/src/app/.npm --mount=type=cache,target=/usr/src/app/node_modules \ + npm install + +# Copy source +COPY frontends/compiler_gym/public public +COPY frontends/compiler_gym/src src +COPY frontends/compiler_gym/.env.production . + +# Build Ract app +RUN --mount=type=cache,target=/usr/src/app/.npm --mount=type=cache,target=/usr/src/app/node_modules \ + npm run build + + FROM python:3.8-slim-buster WORKDIR /app @@ -23,6 +47,6 @@ RUN pip3 install --no-cache-dir -r requirements.txt RUN python3 -m compiler_gym.bin.service --env=llvm-v0 COPY www.py . -COPY frontends/compiler_gym/build frontends/compiler_gym/build +COPY --from=builder /usr/src/app/build frontends/compiler_gym/build CMD [ "python3", "www.py"] diff --git a/www/frontends/compiler_gym/.dockerignore b/www/frontends/compiler_gym/.dockerignore new file mode 100644 index 000000000..4d64059f6 --- /dev/null +++ b/www/frontends/compiler_gym/.dockerignore @@ -0,0 +1,2 @@ +/node_modules + diff --git a/www/frontends/compiler_gym/.env.production b/www/frontends/compiler_gym/.env.production index b43179a08..d3b1961ad 100644 --- a/www/frontends/compiler_gym/.env.production +++ b/www/frontends/compiler_gym/.env.production @@ -1 +1 @@ -REACT_APP_API_URL=http://18.219.131.236:5000 +REACT_APP_API_URL=http://beanstalk-compiler-gym.eba-36iz7mga.us-east-2.elasticbeanstalk.com diff --git a/www/frontends/compiler_gym/package.json b/www/frontends/compiler_gym/package.json index aa3cd8dc7..a323375c9 100644 --- a/www/frontends/compiler_gym/package.json +++ b/www/frontends/compiler_gym/package.json @@ -24,7 +24,7 @@ }, "scripts": { "start": "react-scripts start", - "build": "react-scripts --openssl-legacy-provider build", + "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, From 0b763bc4caae2d5b4eda9f3d88318123d949c02b Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Mon, 21 Mar 2022 20:54:13 +0000 Subject: [PATCH 3/6] updated react app build --- www/Dockerfile | 23 ----------------------- www/frontends/compiler_gym/.dockerignore | 4 ---- 2 files changed, 27 deletions(-) diff --git a/www/Dockerfile b/www/Dockerfile index d4e137f84..35bf0cb4f 100644 --- a/www/Dockerfile +++ b/www/Dockerfile @@ -1,28 +1,6 @@ # syntax=docker/dockerfile:1 # #################### -<<<<<<< HEAD -# React Web App - Build -# #################### -FROM node:16.8.0 as builder - -WORKDIR /usr/src/app - -# Copy npm package info -COPY frontends/compiler_gym/package.json frontends/compiler_gym/package-lock.json ./ - -# Instal npm packages -RUN --mount=type=cache,target=/usr/src/app/.npm --mount=type=cache,target=/usr/src/app/node_modules \ - npm install - -# Copy source -COPY frontends/compiler_gym/public public -COPY frontends/compiler_gym/src src -COPY frontends/compiler_gym/.env.production . - -# Build Ract app -RUN --mount=type=cache,target=/usr/src/app/.npm --mount=type=cache,target=/usr/src/app/node_modules \ -======= # Web App - Build # #################### FROM node:16.8.0 as builder @@ -44,7 +22,6 @@ RUN echo REACT_APP_API_HOST=${API_ENDPOINT} > .env.production # Compile frontend RUN --mount=type=cache,target=/usr/src/react_web_app/.npm --mount=type=cache,target=/usr/src/react_web_app/node_modules \ ->>>>>>> 5b1b6ba87e1b3f3272a0b2ad6a5a54b8b2997ef6 npm run build diff --git a/www/frontends/compiler_gym/.dockerignore b/www/frontends/compiler_gym/.dockerignore index af8ce6b1a..07e6e472c 100644 --- a/www/frontends/compiler_gym/.dockerignore +++ b/www/frontends/compiler_gym/.dockerignore @@ -1,5 +1 @@ /node_modules -<<<<<<< HEAD - -======= ->>>>>>> 5b1b6ba87e1b3f3272a0b2ad6a5a54b8b2997ef6 From 8d3ad122a4e5d2b4c2f0a0dbf14a927d035731e9 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Mon, 28 Mar 2022 16:21:27 +0000 Subject: [PATCH 4/6] fixed merge issues --- www/Dockerfile | 4 ---- www/frontends/compiler_gym/package.json | 5 ----- 2 files changed, 9 deletions(-) diff --git a/www/Dockerfile b/www/Dockerfile index 35bf0cb4f..627d64640 100644 --- a/www/Dockerfile +++ b/www/Dockerfile @@ -48,10 +48,6 @@ RUN pip3 install --no-cache-dir -r requirements.txt RUN python3 -m compiler_gym.bin.service --env=llvm-v0 COPY www.py . -<<<<<<< HEAD -COPY --from=builder /usr/src/app/build frontends/compiler_gym/build -======= COPY --from=builder /usr/src/react_web_app/build frontends/compiler_gym/build ->>>>>>> 5b1b6ba87e1b3f3272a0b2ad6a5a54b8b2997ef6 CMD [ "python3", "www.py"] diff --git a/www/frontends/compiler_gym/package.json b/www/frontends/compiler_gym/package.json index f1ea6e183..373ca54a9 100644 --- a/www/frontends/compiler_gym/package.json +++ b/www/frontends/compiler_gym/package.json @@ -23,13 +23,8 @@ "web-vitals": "^1.1.2" }, "scripts": { -<<<<<<< HEAD "start": "react-scripts start", "build": "react-scripts build", -======= - "start": "react-scripts --openssl-legacy-provider start", - "build": "react-scripts --openssl-legacy-provider build", ->>>>>>> origin/development "test": "react-scripts test", "eject": "react-scripts eject" }, From f311f9f409e1a78c65e10e6639692e82abb9f460 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Mon, 28 Mar 2022 17:46:27 +0000 Subject: [PATCH 5/6] fix for www undefined --- www/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/Dockerfile b/www/Dockerfile index 627d64640..09e43c86b 100644 --- a/www/Dockerfile +++ b/www/Dockerfile @@ -18,7 +18,7 @@ COPY frontends/compiler_gym/public public COPY frontends/compiler_gym/src src # configure api endpoint -RUN echo REACT_APP_API_HOST=${API_ENDPOINT} > .env.production +RUN echo REACT_APP_API_URL=${API_ENDPOINT} > .env.production # Compile frontend RUN --mount=type=cache,target=/usr/src/react_web_app/.npm --mount=type=cache,target=/usr/src/react_web_app/node_modules \ From 6b2e0385857cad06cdfb0a9720755decb5012de2 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Mon, 28 Mar 2022 18:57:01 +0000 Subject: [PATCH 6/6] api health check --- www/www.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/www/www.py b/www/www.py index d080c07e4..a4f2dd08f 100644 --- a/www/www.py +++ b/www/www.py @@ -173,6 +173,11 @@ class StepReply(BaseModel): states: List[StateToVisualize] +@app.route("/health") +def healthy(): + return {'message': 'Healthy'} + + @app.route("/api/v4/describe") def describe(): with env_lock: