The cmsg alignment breakage reproduces on both musl architectures, and
x86_64 is what the static `iroh-relay` builds use, so cover it too. Each
target runs on a runner of its own architecture, so the statically linked
test binaries run natively.
## Description
Updates deps to latest and adjusts deny.toml entries accordingly. Pins
the aws-lc crates to the current version. New versions generate cryptic
errors
## Breaking Changes
n/a
## Notes & open questions
prompted by several dependabot commits from quinn that were not applied
in the latest sync.
These were not applied due to several reasons:
- Cherry picking `Cargo.lock` updates often gives wrong results.
`Cargo.lock` must always be generated by cargo itself.
- We still should keep our deps updated within compatible versions.
## Change checklist
- [x] Self-review.
- [x] This PR was created by a human that thought critically about the
proposed change and wrote an as clear and concise description as
they could.
- [x] This PR isn't slop, and is carefully crafted to do have the
intented effect.
- [x] `cargo make` passes locally.
## Description
This updates semver checks with the following behaviour:
- The baseline for the check is now the latest published release on
crates.io
- If you make a semver-breaking change you must also bump the package
version number so that the semver check will pass. Because we like
to bump the versions of all crates at the same time you can not use
pre-releases since cargo does not allow mixing those and the iroh
patchbay tests has 2nd-level dependencies on noq-udp (via netwatch).
- Adding deprecated items is allowed in minor version bumps, matching
https://semver.org/#how-should-i-handle-deprecating-functionality
- Bump noq-proto version because we previously added deprecations.
- Now the baseline is somewhat stable, enable caching.
## Breaking Changes
none
## Notes & open questions
I tested this first by not bumping the noq-proto version number and it
fails in that case. Which is due to #725.
Once this is merged I will make the semver check required in noq.
The version bumping required to make semver-checks pass could be a bit
annoying. It will also make patching iroh for noq a little bit harder.
As shown by what the patchbay check has to do now. I'm tempted to think
for now that this is worth it, but happy to think about how to tweak
this as we gain experience.
OTOH having to bump to the right version means that come to a release we
do know what the next version should be. Which is probably good.
## Change checklist
- [x] Self-review.
## Description
The "Build & test wasm32" check has been flaky in recent times.
The pattern seems to be, when it fails, then the `cargo binstall
wasm-bindgen-cli` command outputs:
```
INFO wasm-bindgen-cli v0.2.121 is already installed, use --force to override
INFO Done in 2.399616ms
```
Whereas when it succeeds, it's always
```
INFO resolve: Resolving package: 'wasm-bindgen-cli@=0.2.121'
WARN The package wasm-bindgen-cli v0.2.121 (x86_64-unknown-linux-musl) has been downloaded from github.com
INFO This will install the following binaries:
INFO - wasm-bindgen => /root/.cargo/bin/wasm-bindgen
INFO - wasm-bindgen-test-runner => /root/.cargo/bin/wasm-bindgen-test-runner
INFO - wasm2es6js => /root/.cargo/bin/wasm2es6js
INFO Installing binaries...
INFO Done in 2.149248106s
```
Here are some recent runs, all after #664 was merged:
- Runner name: 'hetz-ci-linux-x64-2': Fail
(https://github.com/n0-computer/noq/actions/runs/26168869453/job/76980594957)
- Runner name: 'hetz-ci-linux-x64-5': Success
(https://github.com/n0-computer/noq/actions/runs/26165233426/job/76967593091)
- Runner name: 'hetz-ci-linux-x64-1': Success
(https://github.com/n0-computer/noq/actions/runs/26164884966/job/76966183329)
- Runner name: 'hetz-ci-linux-x64-1': Fail
(https://github.com/n0-computer/noq/actions/runs/26167126491/job/76974283055)
- Runner name: 'hetz-ci-linux-x64-1': Fail
(https://github.com/n0-computer/noq/actions/runs/26167190559/job/76974514178?pr=662)
# Notes
It's unfortunate that we loose caching this way (and make ourselves more
vulnerable to github releases being flaky!!!), but this is mostly to
unblock us in the short term...
## Description
This adds a `cargo make` task and CI job to ensure that no foreign
crates appear in the public API apart from those explicitly
allow-listed.
## Change checklist
- [x] Self-review.
* ci(docs): Check internal docs as well
We also want to check that the internal docs are all correct, so we do
not get broken links etc. We have a lot of internal docs, internal
docs are great!
* turns out that syntax is not supported
* fixup all the doc errors
* fix format
* naming nitpicking, fewer changes
* ci: Add ESP32-C3 build check for noq, noq-proto, and noq-udp
Cross-compile check using riscv32imc-esp-espidf target with
nightly + build-std. No ESP-IDF SDK needed for cargo check.
* test: Deliberately break ESP32 build to verify CI catches it
Use unix.rs instead of posix_minimal.rs on espidf to confirm the
esp32_check CI job fails as expected. Revert after verifying.
* Revert "test: Deliberately break ESP32 build to verify CI catches it"
This reverts commit 45f096edc8.
* Correct ci step name
* Use sccache for new ci checks.
* Rename fallback.rs to posix_minimal.rs
Use it for platforms that are unix, but don't support advanced stuff like
CMSG, GRO, GSO.
Also fix some compile errors in the former fallback.rs
* Test noq-udp with the new posix_minimal configuration
* Eliminate warnings for posix_minimal config.
* shut up clippy
* Switch to `aes-gcm` crate for retry token logic when using rustls
* Split `rustls-ring` and `rustls-aws-lc-rs` features into `rustls`, `ring` and `aws-lc-rs` features.
* Better document the features.
* `cargo make format`
* Fix outdated feature references
* Avoid double-defining `configured_provider`
* File an issue about suddenly working PQC handshakes now breaking a test
* Fix rebase
* Only enable `aes-gcm` dependency when needed
* Add features for backwards compatibility
* Add some links to the spec's retry packet integrity section
Also, removes "log" from list of features for `iroh-quinn-proto` to run with `docs-rs`, since it is not a feature `iroh-quinn-proto` has
Co-authored-by: “ramfox” <“kasey@n0.computer”>
* refactor: Update to rust edition 2025
* bump to 1.88
That's what I need for let chains.
* i asked for let chain, clippy looooooves the let chains!
* more let chains in the workspace