Skip to content

Commit 859e80e

Browse files
committed
Use worker aggregator in CI
1 parent 3a8571d commit 859e80e

File tree

4 files changed

+100
-2
lines changed

4 files changed

+100
-2
lines changed

.github/workflows/daphneci.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2024 Cloudflare, Inc. All rights reserved.
1+
# Copyright (c) 2025 Cloudflare, Inc. All rights reserved.
22
# SPDX-License-Identifier: BSD-3-Clause
33
---
44
name: DaphneCI
@@ -80,3 +80,15 @@ jobs:
8080
env:
8181
HPKE_SIGNING_KEY: ${{ steps.hpke_signing_key.outputs.hpke_signing_key }}
8282
E2E_TEST_HPKE_SIGNING_CERTIFICATE: ${{ steps.hpke_signing_cert.outputs.hpke_signing_cert }}
83+
84+
e2e-worker-aggregator:
85+
runs-on: ubuntu-latest
86+
steps:
87+
- name: Checking out
88+
uses: actions/checkout@v3
89+
90+
- name: Run integration tests
91+
uses: hoverkraft-tech/compose-action@v2.0.1
92+
with:
93+
compose-file: "./crates/daphne-worker-test/docker/docker-compose-e2e.yaml"
94+
up-flags: "--build --abort-on-container-exit --exit-code-from test"

Makefile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2024 Cloudflare, Inc. All rights reserved.
1+
# Copyright (c) 2025 Cloudflare, Inc. All rights reserved.
22
# SPDX-License-Identifier: BSD-3-Clause
33

44
.PHONY: accept acceptance e2e load leader l helper h storage-proxy s
@@ -45,6 +45,12 @@ e2e: /tmp/private-key /tmp/certificate
4545
--abort-on-container-exit \
4646
--exit-code-from test
4747

48+
e2e-worker:
49+
docker compose -f ./crates/daphne-worker-test/docker/docker-compose-e2e.yaml up \
50+
--build \
51+
--abort-on-container-exit \
52+
--exit-code-from test
53+
4854
build_interop:
4955
docker build . -f ./interop/Dockerfile.interop_helper --tag daphne-interop
5056

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Copyright (c) 2025 Cloudflare, Inc. All rights reserved.
2+
# SPDX-License-Identifier: BSD-3-Clause
3+
4+
FROM rust:1.83-bookworm AS builder
5+
RUN apt update && apt install -y capnproto clang cmake
6+
7+
# Pre-install worker-build and Rust's wasm32 target to speed up our custom build command
8+
RUN rustup target add wasm32-unknown-unknown
9+
RUN cargo install --git https://github.com/cloudflare/workers-rs
10+
11+
# Build the worker.
12+
WORKDIR /tmp/dap_test
13+
COPY Cargo.toml Cargo.lock ./
14+
COPY crates/daphne-worker-test ./crates/daphne-worker-test
15+
COPY crates/daphne-worker ./crates/daphne-worker
16+
COPY crates/daphne-service-utils ./crates/daphne-service-utils
17+
COPY crates/daphne ./crates/daphne
18+
WORKDIR /tmp/dap_test/crates/daphne-worker-test
19+
RUN worker-build --dev
20+
21+
FROM node:bookworm AS leader
22+
RUN npm install -g wrangler@3.60.1 && npm cache clean --force
23+
COPY --from=builder /tmp/dap_test/crates/daphne-worker-test/build/ /build
24+
COPY crates/daphne-worker-test/wrangler.aggregator.toml /
25+
# this container doesn't need worker-build but the wrangler.toml requires it, so we just fake it
26+
RUN ln -s /usr/bin/true /usr/bin/worker-build
27+
28+
ENTRYPOINT ["wrangler", "dev", "--config", "wrangler.aggregator.toml", "-e", "leader", "--port", "8787"]
29+
30+
FROM node:bookworm AS helper
31+
RUN npm install -g wrangler@3.60.1 && npm cache clean --force
32+
COPY --from=builder /tmp/dap_test/crates/daphne-worker-test/build/ /build
33+
COPY crates/daphne-worker-test/wrangler.aggregator.toml /
34+
# this container doesn't need worker-build but the wrangler.toml requires it, so we just fake it
35+
RUN ln -s /usr/bin/true /usr/bin/worker-build
36+
37+
ENTRYPOINT ["wrangler", "dev", "--config", "wrangler.aggregator.toml", "-e", "helper", "--port", "8788"]
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Copyright (c) 2025 Cloudflare, Inc. All rights reserved.
2+
# SPDX-License-Identifier: BSD-3-Clause
3+
---
4+
version: "3.9"
5+
6+
networks:
7+
dap_network:
8+
driver: bridge
9+
10+
services:
11+
leader:
12+
networks:
13+
- dap_network
14+
ports:
15+
- "8787"
16+
build:
17+
context: ../../..
18+
dockerfile: crates/daphne-worker-test/docker/aggregator.Dockerfile
19+
target: leader
20+
environment:
21+
- RUST_LOG=info
22+
helper:
23+
networks:
24+
- dap_network
25+
ports:
26+
- "8788"
27+
build:
28+
context: ../../..
29+
dockerfile: crates/daphne-worker-test/docker/aggregator.Dockerfile
30+
target: helper
31+
environment:
32+
- RUST_LOG=info
33+
test:
34+
networks:
35+
- dap_network
36+
build:
37+
context: ../../..
38+
dockerfile: crates/daphne-worker-test/docker/runtests.Dockerfile
39+
depends_on:
40+
- leader
41+
- helper
42+
environment:
43+
- "E2E_TEST_HPKE_SIGNING_CERTIFICATE=-----BEGIN CERTIFICATE-----\nMIICCTCCAa+gAwIBAgIUBECNyioI8d+hgXsgmVI+TcRD8wUwCgYIKoZIzj0EAwIw\nWjELMAkGA1UEBhMCUFQxDjAMBgNVBAcMBUJyYWdhMRcwFQYDVQQKDA5DbG91ZGZs\nYXJlIExkYTEiMCAGA1UEAwwZaGVscGVyLmRhcC5jbG91ZGZsYXJlLmNvbTAeFw0y\nNTAxMDYxMTAwNDdaFw0yNjAxMDYxMTAwNDdaMFoxCzAJBgNVBAYTAlBUMQ4wDAYD\nVQQHDAVCcmFnYTEXMBUGA1UECgwOQ2xvdWRmbGFyZSBMZGExIjAgBgNVBAMMGWhl\nbHBlci5kYXAuY2xvdWRmbGFyZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC\nAASheYdDsJLsG4UG95bs2qlVr1QQcK6+k6emAJSDAlr7bIGjHUoLwUdIQK818g/N\ngVL0vig90b4uGTS7KdKJ9o4Ko1MwUTAdBgNVHQ4EFgQUeOUaahWphjiaQotYoRfb\nVBdby+wwHwYDVR0jBBgwFoAUeOUaahWphjiaQotYoRfbVBdby+wwDwYDVR0TAQH/\nBAUwAwEB/zAKBggqhkjOPQQDAgNIADBFAiEAl0pg+5iQC3yskSbZrz8gyEgAaKx2\niyrASYsFh2gdfkICIAgkOlAOHsUHlhh0zRt9m283dLR0/ZYVoEhII8ZMkb1/\n-----END CERTIFICATE-----"

0 commit comments

Comments
 (0)