Commit Graph

171 Commits

Author SHA1 Message Date
Philipp Krüger e7012143a5 chore(ci): Switch to force-installing wasm-bindgen-cli (#665)
## 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...
2026-05-20 15:47:11 +00:00
Franz Heinzmann 628f2df026 chore(deps): update wasm-bindgen version (#664)
## Description

Wasm CI is currently failing with a tooling error. Let's see if updating
all the versions help.

## Change checklist

- [x] Self-review.
2026-05-20 13:31:47 +00:00
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 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 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
dependabot[bot] d2cdd65ca4 build(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 14:24:51 +00:00
Cathal Mullan 35cefdd003 Bump MSRV to 1.80, remove once_cell and lazy_static deps 2025-11-14 18:29:03 +00:00