mirror of
https://github.com/tlsnotary/tlsn.git
synced 2026-01-10 07:07:57 -05:00
ci: docker image for new harness
* update Docker for new harness * disable shm in Chrome
This commit is contained in:
4
.github/workflows/bench.yml
vendored
4
.github/workflows/bench.yml
vendored
@@ -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
|
||||
|
||||
2
crates/harness/benches.Dockerfile.dockerignore
Normal file
2
crates/harness/benches.Dockerfile.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
||||
# exclude any /target folders
|
||||
**/target/
|
||||
@@ -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
17
crates/harness/docker.md
Normal 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"
|
||||
```
|
||||
33
crates/harness/harness.Dockerfile
Normal file
33
crates/harness/harness.Dockerfile
Normal 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"]
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user