Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,15 @@ jobs:
# The toolchain must be specified manually, as this action ignores the rust-toolchain override
# https://github.com/dtolnay/rust-toolchain?tab=readme-ov-file#inputs
toolchain: ${{ matrix.rust }}
- name: "Install nix"
uses: cachix/install-nix-action@v25
with:
nix_path: nixpkgs=channel:nixos-25.11
# This is necessary for ohttp-relay integration tests
- name: "Add nginxWithStream to PATH"
run: |
nix build .#nginx-with-stream -o nginx
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

although -o is more stable than the usual result, i would suggest using

Suggested change
nix build .#nginx-with-stream -o nginx
echo "$( nix build .#nginx-wiith-stream --print-out-paths )/bin" >> $GITHUB_PATH

echo "$(pwd)/nginx/bin" >> $GITHUB_PATH
- name: "Use cache"
uses: Swatinem/rust-cache@v2
- name: Run tests
Expand Down Expand Up @@ -107,6 +116,15 @@ jobs:
- name: "Install toolchain"
# rust-cache usage with stable Rust is most effective, as a cache is tied to the Rust version
uses: dtolnay/rust-toolchain@stable
- name: "Install nix"
uses: cachix/install-nix-action@v25
with:
nix_path: nixpkgs=channel:nixos-25.11
# This is necessary for ohttp-relay integration tests
Comment on lines +119 to +123
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(these are mainly notes for tomorrow's call)

determinate nix installer is flake based, so no need to specify a channel:

https://github.com/DeterminateSystems/nix-installer-action

and we can add caching with github's caching api:

https://github.com/DeterminateSystems/magic-nix-cache-action

which would be very useful for nix build and nix flake check of our own stuff

relatedly, we probably also want https://github.com/DeterminateSystems/flake-checker-action and https://github.com/DeterminateSystems/update-flake-lock

- name: "Add nginxWithStream to PATH"
run: |
nix build .#nginx-with-stream -o nginx
echo "$(pwd)/nginx/bin" >> $GITHUB_PATH
- name: "Use cache"
uses: Swatinem/rust-cache@v2
- name: "Install cargo-llvm-cov"
Expand Down
144 changes: 106 additions & 38 deletions Cargo-minimal.lock
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,16 @@ dependencies = [
"syn 2.0.106",
]

[[package]]
name = "assert-json-diff"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12"
dependencies = [
"serde",
"serde_json",
]

[[package]]
name = "async-compat"
version = "0.2.5"
Expand Down Expand Up @@ -866,6 +876,15 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75"

[[package]]
name = "colored"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e"
dependencies = [
"windows-sys 0.59.0",
]

[[package]]
name = "compression-codecs"
version = "0.4.30"
Expand Down Expand Up @@ -1523,6 +1542,25 @@ dependencies = [
"scroll",
]

[[package]]
name = "h2"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386"
dependencies = [
"atomic-waker",
"bytes",
"fnv",
"futures-core",
"futures-sink",
"http",
"indexmap",
"slab",
"tokio",
"tokio-util",
"tracing",
]

[[package]]
name = "hashbrown"
version = "0.14.5"
Expand Down Expand Up @@ -1687,6 +1725,7 @@ dependencies = [
"bytes",
"futures-channel",
"futures-core",
"h2",
"http",
"http-body",
"httparse",
Expand Down Expand Up @@ -2085,11 +2124,11 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"

[[package]]
name = "matchers"
version = "0.1.0"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
dependencies = [
"regex-automata 0.1.10",
"regex-automata",
]

[[package]]
Expand Down Expand Up @@ -2165,6 +2204,31 @@ dependencies = [
"windows-sys 0.59.0",
]

[[package]]
name = "mockito"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e0603425789b4a70fcc4ac4f5a46a566c116ee3e2a6b768dc623f7719c611de"
dependencies = [
"assert-json-diff",
"bytes",
"colored",
"futures-core",
"http",
"http-body",
"http-body-util",
"hyper",
"hyper-util",
"log",
"pin-project-lite",
"rand 0.9.1",
"regex",
"serde_json",
"serde_urlencoded",
"similar",
"tokio",
]

[[package]]
name = "nix"
version = "0.30.1"
Expand All @@ -2190,12 +2254,11 @@ dependencies = [

[[package]]
name = "nu-ansi-term"
version = "0.46.0"
version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
dependencies = [
"overload",
"winapi",
"windows-sys 0.60.2",
]

[[package]]
Expand Down Expand Up @@ -2244,24 +2307,29 @@ dependencies = [
[[package]]
name = "ohttp-relay"
version = "0.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15a28c940492277c063664f7a7aa9bc881bacf9659aacb06916666ea56af177a"
dependencies = [
"byteorder",
"bytes",
"futures",
"hex-conservative 0.1.2",
"http",
"http-body-util",
"hyper",
"hyper-rustls",
"hyper-tungstenite",
"hyper-util",
"mockito",
"rcgen 0.12.1",
"reqwest",
"rustls 0.23.31",
"tempfile",
"tokio",
"tokio-rustls",
"tokio-tungstenite",
"tokio-util",
"tracing",
"tracing-subscriber",
"uuid",
]

[[package]]
Expand Down Expand Up @@ -2313,12 +2381,6 @@ dependencies = [
"hashbrown 0.14.5",
]

[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"

[[package]]
name = "parking_lot"
version = "0.11.2"
Expand Down Expand Up @@ -2837,6 +2899,18 @@ dependencies = [
"getrandom 0.3.3",
]

[[package]]
name = "rcgen"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1"
dependencies = [
"pem",
"ring",
"time",
"yasna",
]

[[package]]
name = "rcgen"
version = "0.13.2"
Expand Down Expand Up @@ -2900,17 +2974,8 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
dependencies = [
"aho-corasick",
"memchr",
"regex-automata 0.4.9",
"regex-syntax 0.8.5",
]

[[package]]
name = "regex-automata"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
dependencies = [
"regex-syntax 0.6.29",
"regex-automata",
"regex-syntax",
]

[[package]]
Expand All @@ -2921,15 +2986,9 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax 0.8.5",
"regex-syntax",
]

[[package]]
name = "regex-syntax"
version = "0.6.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"

[[package]]
name = "regex-syntax"
version = "0.8.5"
Expand All @@ -2952,6 +3011,7 @@ dependencies = [
"base64 0.22.1",
"bytes",
"encoding_rs",
"futures-channel",
"futures-core",
"futures-util",
"http",
Expand Down Expand Up @@ -3412,6 +3472,12 @@ dependencies = [
"libc",
]

[[package]]
name = "similar"
version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa"

[[package]]
name = "siphasher"
version = "0.3.11"
Expand Down Expand Up @@ -3961,14 +4027,14 @@ dependencies = [

[[package]]
name = "tracing-subscriber"
version = "0.3.19"
version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5"
dependencies = [
"matchers",
"nu-ansi-term",
"once_cell",
"regex",
"regex-automata",
"sharded-slab",
"smallvec",
"thread_local",
Expand Down Expand Up @@ -4289,12 +4355,14 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"

[[package]]
name = "uuid"
version = "1.16.0"
version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a"
dependencies = [
"getrandom 0.3.3",
"js-sys",
"rand 0.9.1",
"wasm-bindgen",
]

[[package]]
Expand Down
Loading