-
Notifications
You must be signed in to change notification settings - Fork 13
160 lines (132 loc) · 5.51 KB
/
Copy pathintegration.yml
File metadata and controls
160 lines (132 loc) · 5.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
name: Integration Tests
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
jobs:
integration-ct:
name: CT Worker Integration Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install wasm-pack
run: cargo install wasm-pack@0.13.1 --locked
- name: Install worker-build
run: cargo install worker-build@0.8.5 --locked
# RUSTFLAGS: force legacy Wasm EH so wasm-bindgen 0.2.126's wasmparser
# accepts the module (modern exnref opcodes from nightly >=2026-05-09
# are not yet supported).
- name: Build ct_worker (dev environment)
working-directory: crates/ct_worker
run: DEPLOY_ENV=dev RUSTFLAGS='-Cllvm-args=-wasm-use-legacy-eh' worker-build --release --panic-unwind
# .dev.vars contains the per-shard signing and witness keys used by
# wrangler dev. These are dev-only keys (not production secrets) and are
# committed to the repository.
- name: Start wrangler dev
working-directory: crates/ct_worker
run: npx wrangler@4.80.0 -e=dev dev --port 8787 --persist-to .wrangler/state &
- name: Wait for wrangler dev to be ready
run: |
for i in $(seq 1 30); do
if curl -sf http://localhost:8787/logs/dev2026h1a/ct/v1/get-roots > /dev/null 2>&1; then
echo "wrangler dev is ready"
exit 0
fi
echo "Waiting for wrangler dev... attempt $i/30"
sleep 2
done
echo "wrangler dev failed to start in time"
exit 1
- name: Run CT integration tests
run: cargo test -p integration_tests --test static_ct_api --verbose
env:
BASE_URL: http://localhost:8787
LOG_NAME: dev2026h1a
integration-bootstrap-mtc:
name: Bootstrap MTC Worker Integration Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install wasm-pack
run: cargo install wasm-pack@0.13.1 --locked
- name: Install worker-build
run: cargo install worker-build@0.8.5 --locked
# RUSTFLAGS: force legacy Wasm EH (see ct_worker build comment).
- name: Build bootstrap_mtc_worker (dev environment, with dev-bootstrap-roots)
working-directory: crates/bootstrap_mtc_worker
# wrangler.jsonc dev build already includes --features dev-bootstrap-roots
run: DEPLOY_ENV=dev RUSTFLAGS='-Cllvm-args=-wasm-use-legacy-eh' worker-build --release --panic-unwind --features dev-bootstrap-roots
# .dev.vars contains the per-log signing and cosigning keys used by
# wrangler dev. These are dev-only keys (not production secrets) and are
# committed to the repository.
- name: Start wrangler dev
working-directory: crates/bootstrap_mtc_worker
run: npx wrangler@4.80.0 -e=dev dev --port 8787 --persist-to .wrangler/state &
- name: Wait for wrangler dev to be ready
run: |
for i in $(seq 1 30); do
if curl -sf http://localhost:8787/logs/dev2/get-roots > /dev/null 2>&1; then
echo "wrangler dev is ready"
exit 0
fi
echo "Waiting for wrangler dev... attempt $i/30"
sleep 2
done
echo "wrangler dev failed to start in time"
exit 1
- name: Run Bootstrap MTC integration tests
run: cargo test -p integration_tests --test bootstrap_mtc_api --verbose
env:
BASE_URL: http://localhost:8787
BOOTSTRAP_MTC_LOG_NAME: dev2
integration-tlog-witness:
name: TLog Witness Integration Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
# wasm-pack is intentionally NOT installed here: witness_worker only
# uses worker-build for its wasm build, unlike the CT and MTC jobs
# which also compile *_wasm sibling crates that need wasm-pack.
- name: Install worker-build
run: cargo install worker-build@0.8.5 --locked
# RUSTFLAGS: force legacy Wasm EH (see ct_worker build comment).
- name: Build witness_worker (dev environment)
working-directory: crates/witness_worker
run: DEPLOY_ENV=dev RUSTFLAGS='-Cllvm-args=-wasm-use-legacy-eh' worker-build --release --panic-unwind
# .dev.vars contains the WITNESS_SIGNING_KEY used by wrangler dev. This
# is a dev-only key (not a production secret) and is committed to the
# repository.
- name: Start wrangler dev
working-directory: crates/witness_worker
run: npx wrangler@4.80.0 -e=dev dev --port 8787 --persist-to .wrangler/state &
- name: Wait for wrangler dev to be ready
run: |
for i in $(seq 1 30); do
if curl -sf http://localhost:8787/metadata > /dev/null 2>&1; then
echo "wrangler dev is ready"
exit 0
fi
echo "Waiting for wrangler dev... attempt $i/30"
sleep 2
done
echo "wrangler dev failed to start in time"
exit 1
- name: Run TLog Witness integration tests
run: cargo test -p integration_tests --test tlog_witness --verbose
env:
BASE_URL: http://localhost:8787