tilt: split out ci test containers

This commit is contained in:
Evan Gray 2022-07-14 20:54:02 +00:00 committed by Evan Gray
parent 90fe03012a
commit c2db111629
8 changed files with 126 additions and 22 deletions

View File

@ -466,22 +466,51 @@ if ci_tests:
)
docker_build(
ref = "tests-image",
ref = "bridge-ui-test-image",
context = ".",
dockerfile = "testing/Dockerfile.tests",
dockerfile = "testing/Dockerfile.bridge_ui.test",
only = [],
live_update = [
sync("./testing", "/app/testing"),
sync("./bridge_ui/src", "/app/bridge_ui/src"),
],
)
docker_build(
ref = "sdk-test-image",
context = ".",
dockerfile = "testing/Dockerfile.sdk.test",
only = [],
live_update = [
sync("./sdk/js/src", "/app/sdk/js/src"),
sync("./testing", "/app/testing"),
],
)
docker_build(
ref = "spydk-test-image",
context = ".",
dockerfile = "testing/Dockerfile.spydk.test",
only = [],
live_update = [
sync("./spydk/js/src", "/app/spydk/js/src"),
sync("./sdk/js/src", "/app/sdk/js/src"),
sync("./testing", "/app/testing"),
sync("./bridge_ui/src", "/app/bridge_ui/src"),
],
)
k8s_yaml_with_ns("devnet/tests.yaml")
# separate resources to parallelize docker builds
k8s_resource(
"ci-tests",
"bridge-ui-ci-tests",
labels = ["ci"],
trigger_mode = trigger_mode,
)
k8s_resource(
"sdk-ci-tests",
labels = ["ci"],
trigger_mode = trigger_mode,
)
k8s_resource(
"spydk-ci-tests",
labels = ["ci"],
trigger_mode = trigger_mode,
)

View File

@ -1,19 +1,69 @@
kind: Job
apiVersion: batch/v1
metadata:
name: ci-tests
name: bridge-ui-ci-tests
spec:
backoffLimit: 0
template:
spec:
restartPolicy: Never
containers:
- name: ci-tests
image: tests-image
- name: bridge-ui-ci-tests
image: bridge-ui-test-image
command:
- /bin/sh
- -c
- "sh /app/testing/allTests.sh && touch /app/testing/success"
- "sh /app/testing/bridge_ui.sh && touch /app/testing/success"
readinessProbe:
exec:
command:
- test
- -e
- "/app/testing/success"
initialDelaySeconds: 5
periodSeconds: 5
---
kind: Job
apiVersion: batch/v1
metadata:
name: sdk-ci-tests
spec:
backoffLimit: 0
template:
spec:
restartPolicy: Never
containers:
- name: sdk-ci-tests
image: sdk-test-image
command:
- /bin/sh
- -c
- "sh /app/testing/sdk.sh && touch /app/testing/success"
readinessProbe:
exec:
command:
- test
- -e
- "/app/testing/success"
initialDelaySeconds: 5
periodSeconds: 5
---
kind: Job
apiVersion: batch/v1
metadata:
name: spydk-ci-tests
spec:
backoffLimit: 0
template:
spec:
restartPolicy: Never
containers:
- name: spydk-ci-tests
image: spydk-test-image
command:
- /bin/sh
- -c
- "sh /app/testing/spydk.sh && touch /app/testing/success"
readinessProbe:
exec:
command:

View File

@ -0,0 +1,15 @@
FROM node:16-alpine@sha256:004dbac84fed48e20f9888a23e32fa7cf83c2995e174a78d41d9a9dd1e051a20
RUN apk update && apk add g++ make python3 curl
RUN mkdir -p /app
WORKDIR /app
COPY bridge_ui/package.json bridge_ui/package-lock.json ./bridge_ui/
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
npm ci --prefix bridge_ui
COPY bridge_ui ./bridge_ui
COPY testing ./testing
WORKDIR /app/testing

View File

@ -16,17 +16,6 @@ RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
COPY sdk/js ./sdk/js
RUN npm run build --prefix sdk/js
COPY spydk/js/package.json spydk/js/package-lock.json ./spydk/js/
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
npm ci --prefix spydk/js
COPY spydk/js ./spydk/js
RUN npm run build --prefix spydk/js
COPY bridge_ui/package.json bridge_ui/package-lock.json ./bridge_ui/
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
npm ci --prefix bridge_ui
COPY bridge_ui ./bridge_ui
COPY testing ./testing
WORKDIR /app/testing

View File

@ -0,0 +1,16 @@
FROM node:16-alpine@sha256:004dbac84fed48e20f9888a23e32fa7cf83c2995e174a78d41d9a9dd1e051a20
RUN apk update && apk add g++ make python3 curl
RUN mkdir -p /app
WORKDIR /app
COPY spydk/js/package.json spydk/js/package-lock.json ./spydk/js/
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
npm ci --prefix spydk/js
COPY spydk/js ./spydk/js
RUN npm run build --prefix spydk/js
COPY testing ./testing
WORKDIR /app/testing

3
testing/bridge_ui.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/sh
set -e
CI=true npm --prefix ../bridge_ui run test

View File

@ -2,5 +2,3 @@
set -e
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' spy:6060/metrics)" != "200" ]]; do sleep 5; done
CI=true npm --prefix ../sdk/js run test-ci
CI=true npm --prefix ../spydk/js run test-ci
CI=true npm --prefix ../bridge_ui run test

4
testing/spydk.sh Normal file
View File

@ -0,0 +1,4 @@
#!/bin/sh
set -e
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' spy:6060/metrics)" != "200" ]]; do sleep 5; done
CI=true npm --prefix ../spydk/js run test-ci