diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 2fd1fa2..c1a72a6 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -353,7 +353,7 @@ jobs: cp -p bazel/cargo/Cargo.Bazel.lock Cargo.lock cargo audit - example: + examples: runs-on: ubuntu-latest strategy: @@ -433,7 +433,7 @@ jobs: --mode validate \ -c envoy.yaml - reactor: + reactors: runs-on: ubuntu-latest strategy: @@ -475,7 +475,7 @@ jobs: run: | curl -OL https://static.rust-lang.org/rustup/rustup-init.sh chmod +x ./rustup-init.sh - ./rustup-init.sh -y + ./rustup-init.sh -y --default-toolchain nightly rm rustup-init.sh echo "$HOME/.cargo/bin" >> $GITHUB_PATH diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md new file mode 100644 index 0000000..46b4466 --- /dev/null +++ b/DEVELOPMENT.md @@ -0,0 +1,32 @@ +# Development + +## Testing + +GitHub Actions can be executed locally using the [`act`] tool. + +All tests can be executed using: + + act + +Individual tests can be executed using `-j` and `--matrix` parameters, e.g.: + + act -j bazel + act -j stable + act -j nightly + act -j examples --matrix example:http_auth_random + +By default, all jobs are cached in `~/.cache/actcache`. This can be disabled +using the `--no-cache-server` parameter. + +## Updating Bazel dependencies + +When adding or updating Cargo dependencies, the existing Bazel `BUILD` files +must be regenerated using the [`bazelisk`] tool: + +```sh +bazelisk run //bazel/cargo:crates_vendor -- --repin all +``` + + +[`act`]: https://github.com/nektos/act +[`bazelisk`]: https://github.com/bazelbuild/bazelisk diff --git a/README.md b/README.md index 464be21..7db3cdc 100644 --- a/README.md +++ b/README.md @@ -28,10 +28,6 @@ - [Extending Envoy with WASM and Rust](https://antweiss.com/blog/extending-envoy-with-wasm-and-rust/) - [Writing Envoy filters in Rust with WebAssembly](https://content.red-badger.com/resources/extending-istio-with-rust-and-webassembly) -## Updating dependencies +## Contributing changes -When updating dependencies, you need to regenerate Bazel `BUILD` files to match updated `Cargo.toml`: - -```sh -bazel run //bazel/cargo:crates_vendor -- --repin all -``` +See [CONTRIBUTING.md](./CONTRIBUTING.md) and [DEVELOPMENT.md](./DEVELOPMENT.md) files.