ci: docker image for new harness

* update Docker for new harness
* disable shm in Chrome
This commit is contained in:
Hendrik Eeckhaut
2025-06-27 17:58:12 +01:00
committed by GitHub
parent db85f68328
commit 008b901913
6 changed files with 56 additions and 3 deletions

View File

@@ -21,11 +21,11 @@ jobs:
- name: Build Docker Image
run: |
docker build -t tlsn-bench . -f ./crates/benches/binary/benches.Dockerfile --build-arg BENCH_TYPE=${{ github.event.inputs.bench_type }}
docker build -t tlsn-bench . -f ./crates/harness/harness.Dockerfile
- name: Run Benchmarks
run: |
docker run --privileged -v ${{ github.workspace }}/crates/benches/binary:/benches tlsn-bench
docker run -it --privileged -v ./crates/harness/:/benches tlsn-bench bash -c "runner setup; runner --target ${{ github.event.inputs.bench_type }} test"
- name: Upload graphs
uses: actions/upload-artifact@v4

View File

@@ -0,0 +1,2 @@
# exclude any /target folders
**/target/

View File

@@ -12,4 +12,4 @@ cp ../../target/release/tlsn-harness-executor-native bin/executor-native
cp ../../target/release/tlsn-server-fixture bin/server-fixture
cp ../../target/release/tlsn-harness-wasm-server bin/wasm-server
./build.wasm.sh
./build.wasm.sh

17
crates/harness/docker.md Normal file
View File

@@ -0,0 +1,17 @@
# Run the TLSN benches with Docker
In the root folder of this repository, run:
```
docker build -t tlsn-bench . -f ./crates/harness/harness.Dockerfile
```
Next run the benches with:
```
docker run -it --privileged -v ./crates/harness/:/benches tlsn-bench bash -c "runner setup; runner test"
```
The `--privileged` parameter is required because this test bench needs permission to create networks with certain parameters
To run the benches in a browser run:
```
+docker run -it --privileged -v ./crates/harness/:/benches tlsn-bench bash -c "cd /; runner setup; runner --target browser test"
```

View File

@@ -0,0 +1,33 @@
FROM rust AS builder
WORKDIR /usr/src/tlsn
RUN \
rustup update; \
apt update && apt install -y clang; \
rustup install nightly; \
rustup component add rust-src --toolchain nightly; \
cargo install wasm-pack;
COPY . .
RUN \
cd crates/harness; \
./build.sh;
FROM debian:latest
RUN apt update && apt upgrade -y && apt install -y --no-install-recommends \
chromium \
iproute2 \
sudo \
procps \
iptables; \
apt clean && rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/tlsn/crates/harness/bin/ /usr/local/bin/
COPY --from=builder /usr/src/tlsn/crates/harness/static /static
# RUN /usr/local/bin/runner setup
VOLUME [ "/benches" ]
WORKDIR "/benches"
# CMD ["/usr/local/bin/runner", "test"]

View File

@@ -111,6 +111,7 @@ impl Executor {
chrome_path,
format!("--remote-debugging-port={PORT_BROWSER}"),
"--headless",
"--disable-dev-shm-usage",
"--disable-gpu",
"--disable-cache",
"--disable-application-cache",