Commit Graph

23 Commits

Author SHA1 Message Date
dignifiedquire 1541e8c015 ci: drop a duplicated comment in the musl job 2026-07-29 12:00:05 +02:00
dignifiedquire c64247e603 ci: also run the musl tests on x86_64
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.
2026-07-29 11:47:56 +02:00
dignifiedquire d9b7211629 ci: run tests on arch64-musl 2026-07-29 11:19:36 +02:00
Diva Martínez 5cf07f4830 deps: run cargo update and adjust deny.toml accordingly (#762)
## 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.
2026-07-22 22:37:41 +00:00
Floris Bruynooghe 966398681f chore: improve semver checks for stable releases (#734)
## 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.
2026-07-13 16:40:27 +00:00
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
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
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
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
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
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