Skip to content

Commit e325b52

Browse files
Merge branch 'main' into in-code-documentation
2 parents bf22086 + 6d88ed5 commit e325b52

35 files changed

+255
-1131
lines changed

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.2.1
1+
7.4.0

.github/workflows/rust.yml

Lines changed: 150 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@ jobs:
3838
with:
3939
go-version: '^1.16'
4040

41+
- name: Cache
42+
if: ${{ env.ACT }}
43+
uses: actions/cache@v2
44+
with:
45+
path: |
46+
~/go/pkg/mod
47+
key: licenses-${{ hashFiles('.github/workflows/rust.yml') }}
48+
4149
- name: Check licenses
4250
run: |
4351
go install github.com/google/addlicense@latest
@@ -53,11 +61,6 @@ jobs:
5361
with:
5462
go-version: '^1.16'
5563

56-
- name: Install dependencies
57-
if: ${{ env.ACT }}
58-
run: |
59-
go install github.com/bazelbuild/[email protected]
60-
6164
- name: Cache
6265
uses: actions/cache@v2
6366
with:
@@ -66,22 +69,28 @@ jobs:
6669
~/.cache/bazelisk
6770
~/.cargo/.crates.toml
6871
~/.cargo/.crates2.json
72+
~/.cargo/advisory-db
6973
~/.cargo/bin
7074
~/.cargo/registry
71-
key: ${{ hashFiles('WORKSPACE', '.bazelrc', '.bazelversion', 'bazel/cargo/Cargo.Bazel.lock', 'bazel/dependencies.bzl', 'bazel/repositories.bzl') }}
75+
~/go/pkg/mod
76+
key: bazel-${{ hashFiles('BUILD', 'WORKSPACE', '.bazelrc', '.bazelversion', 'bazel/cargo/Cargo.Bazel.lock', 'bazel/dependencies.bzl', 'bazel/repositories.bzl') }}
77+
78+
- name: Install dependencies
79+
if: ${{ env.ACT }}
80+
run: |
81+
go install github.com/bazelbuild/[email protected]
7282
7383
- name: Build (wasm32-unknown-unknown)
7484
run: bazelisk --noworkspace_rc build --noenable_bzlmod --platforms=@rules_rust//rust/platform:wasm //...
7585

76-
- name: Build (wasm32-wasi)
86+
- name: Build (wasm32-wasip1)
7787
run: bazelisk --noworkspace_rc build --noenable_bzlmod --platforms=@rules_rust//rust/platform:wasi //...
7888

7989
- name: Format (buildifier)
8090
run: |
8191
go install github.com/bazelbuild/buildtools/buildifier@latest
8292
export PATH=$PATH:$(go env GOPATH)/bin
83-
buildifier -mode=check WORKSPACE
84-
buildifier -mode=check BUILD
93+
buildifier -mode=check -r .
8594
8695
- name: Format (rules_rust)
8796
run: |
@@ -97,6 +106,20 @@ jobs:
97106
steps:
98107
- uses: actions/checkout@v2
99108

109+
- name: Cache
110+
if: ${{ env.ACT }}
111+
uses: actions/cache@v2
112+
with:
113+
path: |
114+
~/.cargo/.crates.toml
115+
~/.cargo/.crates2.json
116+
~/.cargo/advisory-db
117+
~/.cargo/bin
118+
~/.cargo/registry
119+
~/.rustup
120+
**/target
121+
key: msrv-${{ hashFiles('Cargo.toml') }}
122+
100123
- name: Install dependencies
101124
if: ${{ env.ACT }}
102125
run: |
@@ -149,6 +172,20 @@ jobs:
149172
steps:
150173
- uses: actions/checkout@v2
151174

175+
- name: Cache
176+
if: ${{ env.ACT }}
177+
uses: actions/cache@v2
178+
with:
179+
path: |
180+
~/.cargo/.crates.toml
181+
~/.cargo/.crates2.json
182+
~/.cargo/advisory-db
183+
~/.cargo/bin
184+
~/.cargo/registry
185+
~/.rustup
186+
**/target
187+
key: stable-${{ hashFiles('Cargo.toml') }}
188+
152189
- name: Install dependencies
153190
if: ${{ env.ACT }}
154191
run: |
@@ -162,19 +199,19 @@ jobs:
162199
run: |
163200
rustup toolchain install stable --component clippy --component rustfmt
164201
rustup target add wasm32-unknown-unknown
165-
rustup target add wasm32-wasi
202+
rustup target add wasm32-wasip1
166203
167204
- name: Build (wasm32-unknown-unknown)
168205
run: cargo build --release --all-targets --target=wasm32-unknown-unknown
169206

170207
- name: Clippy (wasm32-unknown-unknown)
171208
run: cargo clippy --release --all-targets --target=wasm32-unknown-unknown
172209

173-
- name: Build (wasm32-wasi)
174-
run: cargo build --release --all-targets --target=wasm32-wasi
210+
- name: Build (wasm32-wasip1)
211+
run: cargo build --release --all-targets --target=wasm32-wasip1
175212

176-
- name: Clippy (wasm32-wasi)
177-
run: cargo clippy --release --all-targets --target=wasm32-wasi
213+
- name: Clippy (wasm32-wasip1)
214+
run: cargo clippy --release --all-targets --target=wasm32-wasip1
178215

179216
- name: Format (rustfmt)
180217
run: cargo fmt -- --check
@@ -200,6 +237,20 @@ jobs:
200237
steps:
201238
- uses: actions/checkout@v2
202239

240+
- name: Cache
241+
if: ${{ env.ACT }}
242+
uses: actions/cache@v2
243+
with:
244+
path: |
245+
~/.cargo/.crates.toml
246+
~/.cargo/.crates2.json
247+
~/.cargo/advisory-db
248+
~/.cargo/bin
249+
~/.cargo/registry
250+
~/.rustup
251+
**/target
252+
key: nightly-${{ hashFiles('Cargo.toml') }}
253+
203254
- name: Install dependencies
204255
if: ${{ env.ACT }}
205256
run: |
@@ -214,19 +265,19 @@ jobs:
214265
rustup toolchain install nightly --component clippy --component rustfmt
215266
rustup default nightly
216267
rustup target add wasm32-unknown-unknown
217-
rustup target add wasm32-wasi
268+
rustup target add wasm32-wasip1
218269
219270
- name: Build (wasm32-unknown-unknown)
220271
run: cargo build --release --all-targets --target=wasm32-unknown-unknown
221272

222273
- name: Clippy (wasm32-unknown-unknown)
223274
run: cargo clippy --release --all-targets --target=wasm32-unknown-unknown
224275

225-
- name: Build (wasm32-wasi)
226-
run: cargo build --release --all-targets --target=wasm32-wasi
276+
- name: Build (wasm32-wasip1)
277+
run: cargo build --release --all-targets --target=wasm32-wasip1
227278

228-
- name: Clippy (wasm32-wasi)
229-
run: cargo clippy --release --all-targets --target=wasm32-wasi
279+
- name: Clippy (wasm32-wasip1)
280+
run: cargo clippy --release --all-targets --target=wasm32-wasip1
230281

231282
- name: Format (rustfmt)
232283
run: cargo fmt -- --check
@@ -249,6 +300,19 @@ jobs:
249300
steps:
250301
- uses: actions/checkout@v2
251302

303+
- name: Cache
304+
if: ${{ env.ACT }}
305+
uses: actions/cache@v2
306+
with:
307+
path: |
308+
~/.cargo/.crates.toml
309+
~/.cargo/.crates2.json
310+
~/.cargo/advisory-db
311+
~/.cargo/bin
312+
~/.cargo/registry
313+
~/.rustup
314+
key: outdated-${{ hashFiles('Cargo.toml') }}
315+
252316
- name: Install dependencies
253317
if: ${{ env.ACT }}
254318
run: |
@@ -269,6 +333,19 @@ jobs:
269333
steps:
270334
- uses: actions/checkout@v2
271335

336+
- name: Cache
337+
if: ${{ env.ACT }}
338+
uses: actions/cache@v2
339+
with:
340+
path: |
341+
~/.cargo/.crates.toml
342+
~/.cargo/.crates2.json
343+
~/.cargo/advisory-db
344+
~/.cargo/bin
345+
~/.cargo/registry
346+
~/.rustup
347+
key: audit-${{ hashFiles('Cargo.toml') }}
348+
272349
- name: Install dependencies
273350
if: ${{ env.ACT }}
274351
run: |
@@ -285,7 +362,7 @@ jobs:
285362
cp -p bazel/cargo/Cargo.Bazel.lock Cargo.lock
286363
cargo audit
287364
288-
example:
365+
examples:
289366
runs-on: ubuntu-latest
290367

291368
strategy:
@@ -308,6 +385,20 @@ jobs:
308385
steps:
309386
- uses: actions/checkout@v2
310387

388+
- name: Cache
389+
if: ${{ env.ACT }}
390+
uses: actions/cache@v2
391+
with:
392+
path: |
393+
~/.cargo/.crates.toml
394+
~/.cargo/.crates2.json
395+
~/.cargo/advisory-db
396+
~/.cargo/bin
397+
~/.cargo/registry
398+
~/.rustup
399+
**/target
400+
key: example-${{ matrix.example }}-${{ hashFiles('Cargo.toml') }}
401+
311402
- name: Install dependencies
312403
if: ${{ env.ACT }}
313404
run: |
@@ -320,13 +411,13 @@ jobs:
320411
- name: Update Rust
321412
run: |
322413
rustup toolchain install stable --component clippy --component rustfmt
323-
rustup target add wasm32-wasi
414+
rustup target add wasm32-wasip1
324415
325-
- name: Build (wasm32-wasi)
326-
run: cargo build --release --target=wasm32-wasi
416+
- name: Build (wasm32-wasip1)
417+
run: cargo build --release --target=wasm32-wasip1
327418

328-
- name: Clippy (wasm32-wasi)
329-
run: cargo clippy --release --target=wasm32-wasi
419+
- name: Clippy (wasm32-wasip1)
420+
run: cargo clippy --release --target=wasm32-wasip1
330421

331422
- name: Format (rustfmt)
332423
run: cargo fmt -- --check
@@ -335,21 +426,23 @@ jobs:
335426
run: cargo verify-project
336427

337428
- name: Run cargo audit
429+
if: ${{ !env.ACT }}
338430
run: cargo audit
339431

340432
- name: Run cargo outdated
433+
if: ${{ !env.ACT }}
341434
run: cargo outdated --root-deps-only --exit-code 1
342435

343436
- name: Validate Envoy config
344437
run: |
345438
docker run --rm \
346439
-v $(pwd)/envoy.yaml:/envoy.yaml \
347-
-v $(pwd)/target/wasm32-wasi/release:/etc/envoy/proxy-wasm-plugins \
440+
-v $(pwd)/target/wasm32-wasip1/release:/etc/envoy/proxy-wasm-plugins \
348441
envoyproxy/envoy:v1.31-latest \
349442
--mode validate \
350443
-c envoy.yaml
351444
352-
reactor:
445+
reactors:
353446
runs-on: ubuntu-latest
354447

355448
strategy:
@@ -372,48 +465,66 @@ jobs:
372465
steps:
373466
- uses: actions/checkout@v2
374467

468+
- name: Cache
469+
if: ${{ env.ACT }}
470+
uses: actions/cache@v2
471+
with:
472+
path: |
473+
~/.cargo/.crates.toml
474+
~/.cargo/.crates2.json
475+
~/.cargo/advisory-db
476+
~/.cargo/bin
477+
~/.cargo/registry
478+
~/.rustup
479+
**/target
480+
key: reactor-${{ matrix.example }}-${{ hashFiles('Cargo.toml') }}
481+
375482
- name: Install dependencies
376483
if: ${{ env.ACT }}
377484
run: |
378485
curl -OL https://static.rust-lang.org/rustup/rustup-init.sh
379486
chmod +x ./rustup-init.sh
380-
./rustup-init.sh -y
487+
./rustup-init.sh -y --default-toolchain nightly
381488
rm rustup-init.sh
382489
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
383490
384491
- name: Update Rust
385492
run: |
386493
rustup toolchain install nightly --component clippy --component rustfmt
387-
rustup +nightly target add wasm32-wasi
388494
rustup default nightly
495+
rustup target add wasm32-wasip1
389496
390497
- name: Change crate type from library to binary
391498
run: |
392499
grep -v '^\[lib\]' Cargo.toml > Cargo.tmp
393500
grep -v '^crate-type' Cargo.tmp > Cargo.toml
394501
mv src/lib.rs src/main.rs
395502
396-
- name: Build (wasm32-wasi)
397-
run: cargo build --release --target=wasm32-wasi
503+
- name: Build (wasm32-wasip1)
504+
run: cargo build --release --target=wasm32-wasip1
398505

399-
- name: Clippy (wasm32-wasi)
400-
run: cargo clippy --release --target=wasm32-wasi
506+
- name: Clippy (wasm32-wasip1)
507+
run: cargo clippy --release --target=wasm32-wasip1
401508

402509
- name: Format (rustfmt)
403510
run: cargo fmt -- --check
404511

405512
- name: Format (manifest)
406513
run: cargo verify-project
407514

408-
- name: Run cargo audit
409-
run: cargo audit
515+
# TODO: Re-enable once cargo audit supports Cargo lockfile v4.
516+
#- name: Run cargo audit
517+
# if: ${{ !env.ACT }}
518+
# run: cargo audit
410519

411-
- name: Run cargo outdated
412-
run: cargo outdated --root-deps-only --exit-code 1
520+
# TODO: Re-enable once cargo outdated supports Cargo lockfile v4.
521+
#- name: Run cargo outdated
522+
# if: ${{ !env.ACT }}
523+
# run: cargo outdated --root-deps-only --exit-code 1
413524

414525
- name: Rename .wasm to match expected filename
415526
run: |
416-
cd target/wasm32-wasi/release
527+
cd target/wasm32-wasip1/release
417528
for file in $(ls -1 *.wasm); do \
418529
mv $file $(echo $file | sed 's/-/_/g'); \
419530
done
@@ -422,7 +533,7 @@ jobs:
422533
run: |
423534
docker run --rm \
424535
-v $(pwd)/envoy.yaml:/envoy.yaml \
425-
-v $(pwd)/target/wasm32-wasi/release:/etc/envoy/proxy-wasm-plugins \
536+
-v $(pwd)/target/wasm32-wasip1/release:/etc/envoy/proxy-wasm-plugins \
426537
envoyproxy/envoy:v1.31-latest \
427538
--mode validate \
428539
-c envoy.yaml

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "proxy-wasm"
3-
version = "0.2.2"
3+
version = "0.2.3-dev"
44
authors = ["Piotr Sikora <[email protected]>"]
55
rust-version = "1.64"
66
description = "WebAssembly for Proxies"
@@ -11,7 +11,7 @@ edition = "2018"
1111
build = "build.rs"
1212

1313
[dependencies]
14-
hashbrown = "0.14"
14+
hashbrown = "0.15"
1515
log = "0.4"
1616

1717
[dev-dependencies]

0 commit comments

Comments
 (0)