Commit Graph

180 Commits

Author SHA1 Message Date
Franz Heinzmann 684c3e2531 chore: check external types in CI (#643)
## 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.
2026-05-11 13:18:44 +00:00
Floris Bruynooghe 058aaab548 feat(proto): Send NAT probes with off-path PATH_RESPONSE (#619)
## Description

When we are NAT probing and we are sending a PATH_RESPONSE as a
client, we include a PATH_CHALLENGE. This ensures that if the peer got
through the firewall first that the client immediately gets through as
well and can open the path. Speeding up NAT traversal.

## Breaking Changes

n/a

## Notes & open questions

Closes #570.

Also fixes an oversight from before: we were still consuming CIDs for
off-path responses. For now we want to not do that.

## Change checklist

- [x] Self-review.

---------

Co-authored-by: Philipp Krüger <philipp.krueger1@gmail.com>
2026-05-06 08:04:06 +00:00
Friedel Ziegelmayer 2e1739d1e6 ci: add semver check (#605)
Closes #486

---------

Co-authored-by: Asmir Avdicevic <asmir.avdicevic64@gmail.com>
2026-04-22 15:14:49 +02:00
Franz Heinzmann 7d736579d9 chore: run iroh's patchbay tests in CI (#601)
## Description

Runs iroh's patchbay tests with iroh patched to use noq checkout as path
dependency.

## Breaking Changes

<!-- Optional, if there are any breaking changes document them,
including how to migrate older code. -->

## Notes & open questions

<!-- Any notes, remarks or open questions you have to make about the -->
<!-- PR. -->

## Change checklist
<!-- Remove any that are not relevant. -->
- [ ] Self-review.
- [ ] Documentation updates following the [style
guide](https://rust-lang.github.io/rfcs/1574-more-api-documentation-conventions.html#appendix-a-full-conventions-text),
if relevant.
- [ ] Tests if relevant.
- [ ] All breaking changes documented.

<!--
tip:
Run `cargo make` in the workspace root to check many light-weight CI
steps locally.
-->
2026-04-22 08:09:38 +00:00
Floris Bruynooghe de242d85f4 chore: Add more cargo-make targets and update CI template (#586)
## Description

- More cargo-make targets:
  - Disable all the built-in targets
  - Add steps that will otherwise fail on CI
- Add checklist to PR template
  - Also point to cargo-make

## Breaking Changes

n/a

## Notes & open questions

I'm not sure if the pointer to cargo-make is clear enough. I
considered making it a checkbox but that probably also gets annoying
for frequent contributors.
2026-04-13 14:42:43 +00:00
Floris Bruynooghe 7e9f628c47 chore(ci): add standard text to beta ci notifications (#506)
We have this everywhere else, it make the notifications consistent and
easy to read.
2026-03-16 09:15:49 +00:00
Floris Bruynooghe a92084ba7a ci(docs): Check internal docs as well (#499)
* 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
2026-03-12 11:44:55 +00:00
Floris Bruynooghe 89a9e7f927 fix(ci): Switch to sccache-action entirely (#501)
This was the only remaining use of rust-cache.

Fixes #481.
2026-03-12 11:26:55 +00:00
Rüdiger Klaehn 9234776e64 ci: Build on RISC-V espidf to check that we properly use portable_atomic and don't use advanced posix features. (#492)
* 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.
2026-03-11 10:33:10 +00:00
Rüdiger Klaehn 018517663d feat: Add minimal socket2 based impl (previously fallback.rs) (#478)
* 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
2026-03-05 11:18:14 +00:00
Asmir Avdicevic caf81fd2e2 chore(ci): adjust runner usage and storage policies (#471)
* chore(ci): adjust runner usage and storage policies

* fix android

* fix android again
2026-03-03 12:58:06 +00:00
Philipp Krüger 13a1c456f5 feat!: Allow compiling with rustls, but without any crypto providers compiled into rustls (#462)
* 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
2026-03-02 11:56:51 +00:00
Friedel Ziegelmayer 294e3ea603 refactor!: rename to noq (#461)
* refactor!: rename to noq

* fixup python scripts

* fixup

* fixup

* fixup: cr
2026-02-27 14:57:21 +00:00
Philipp Krüger 041777b9d2 ci: Fix daily proptest runs (#441) 2026-02-20 14:43:57 +00:00
Friedel Ziegelmayer f41f278609 ci: add expanded proptest runs to ci (#395)
* test(proto): add failing seeds found in CI

* ci: add expanded proptest runs to ci

Adds daily runs, and a longer run for regular tests, also available as cargo make tasks

* ci: fight windows

* another failing seed

* apply CR

* add seeds found in CI

---------

Co-authored-by: Philipp Krüger <philipp.krueger1@gmail.com>
2026-02-19 15:24:28 +00:00
Asmir Avdicevic 325db0f070 fix(ci): address dns issues in daily job (#416)
* fix(ci): address dns issues in daily job

* maybe?

* maybe?

* pin deps version
2026-02-09 13:21:59 +00:00
Asmir Avdicevic 093cf62908 fix(ci): daily jobs deps (#413) 2026-02-06 13:09:33 +00:00
Asmir Avdicevic c332d420ce ci: add testing on wine (#393)
* feat(ci): wine testing

* capture all exe

---------

Co-authored-by: Friedel Ziegelmayer <me@dignifiedquire.com>
2026-02-06 10:04:56 +00:00
Asmir Avdicevic 25f35c2fe3 chore: disable solaris tests in daily CI as they hang (#377) 2026-01-29 11:14:49 +00:00
ramfox bf4c64874d chore: add CI to ensure docs-rs publishing will work (#360)
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”>
2026-01-23 09:53:21 +00:00
Floris Bruynooghe 5f19d75275 refactor: Update to rust edition 2024 (#328)
* 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
2026-01-15 15:41:35 +00:00
Asmir Avdicevic afc9ed49d2 chore: revert sccache removal (#326) 2026-01-14 15:01:06 +00:00
Asmir Avdicevic 39f776db5b chore: unblock CI (#321) 2026-01-14 10:57:50 +00:00
Asmir Avdicevic 3391e34e92 cleanup 2026-01-09 15:32:13 +01:00
Asmir Avdicevic 1f64d1f10c label formatting 2026-01-09 15:29:19 +01:00
Asmir Avdicevic fefc2b8f4e chart grouping 2026-01-09 14:42:21 +01:00
Asmir Avdicevic e5638f3b12 fix reporting 2026-01-09 13:49:55 +01:00
Asmir Avdicevic af06750f92 testing 2026-01-09 12:10:39 +01:00
Asmir Avdicevic af1c04f6d5 cleanup 2026-01-08 23:02:50 +01:00
Asmir Avdicevic 696d62fde5 fix 2026-01-08 22:21:40 +01:00
Asmir Avdicevic ee7f34fdd8 fix 2026-01-08 21:28:31 +01:00
Asmir Avdicevic 109f25e42a fix 2026-01-08 20:13:02 +01:00
Asmir Avdicevic dae12a9075 fix 2026-01-08 20:04:13 +01:00
Asmir Avdicevic 5682cfa81f fix 2026-01-08 18:46:20 +01:00
Asmir Avdicevic 75e39be376 feat(ci): add performance benchmarks comparing iroh-quinn vs upstream 2026-01-08 14:19:13 +01:00
Floris Bruynooghe 4d740d64ec fix(ci): Follow discord notification conventions
This makes the notification look more similar to everything else. It
is a bit odd not having the "header" with the repo like the others
right now.
2026-01-07 10:35:45 +01:00
Asmir Avdicevic c4fb84b8c4 fix(ci): windows test build fix 2025-12-17 08:46:28 +01:00
Asmir Avdicevic eb59f64ae5 fix(ci): windows deps 2025-12-16 18:01:20 +01:00
dignifiedquire 6ed0e458f9 ci: update branch name to main 2025-12-16 13:59:16 +01:00
Asmir Avdicevic 3e1abcae86 chore(ci): cache more deps (#253)
* chore(ci): cache more deps

* pin and cache codespell

---------

Co-authored-by: Philipp Krüger <philipp.krueger1@gmail.com>
2025-12-16 09:15:42 +00:00
Philipp Krüger 52364f3f3a ci: Run docs preview, as long as it's a run in the n0-computer/quinn repo (#256)
* ci: Run docs preview, as long as it's a run in the `n0-computer/quinn` repo

* improve docs check

---------

Co-authored-by: Asmir Avdicevic <asmir.avdicevic64@gmail.com>
2025-12-15 10:01:06 +00:00
Asmir Avdicevic 11a024ba73 fix(ci): daily mac os job (#229) 2025-12-09 09:56:35 +00:00
Asmir Avdicevic f95435ef10 fix: add ci timeout to codecov (#217) 2025-12-04 21:48:55 +00:00
Floris Bruynooghe c0cf8540eb fix: disable GSO on windows if failures happen (#209)
* fix: disable GSO on windows if failures happen

Unfortunately this is not feature gated, so had the risk of tanking
performance on windows. Though it should not normally happen.

* make this state exist

* love running compiler on ci

* params

* imports

* param

* and slowly doing everything arqu did...

* adjust the test
2025-12-02 19:45:43 +00:00
Asmir Avdicevic 2f508d5ab2 fix: fmt & spelling 2025-12-02 12:39:06 +00:00
Asmir Avdicevic 35f654b0c0 ci: fix more workflows 2025-12-02 13:24:18 +01:00
Asmir Avdicevic a1cc539566 ci: setup n0 based CI 2025-12-02 12:11:05 +01:00
dignifiedquire ec7c8035fc ci: fixup wasm builds 2025-12-01 14:40:11 +01:00
dignifiedquire 6380cb3309 ci: fixup package names 2025-12-01 14:18:06 +01:00
dignifiedquire c8a655c4b4 Merge remote-tracking branch 'upstream/main' into chore-merge-upstream 2025-12-01 14:08:32 +01:00