Skip to content

fix: handle wine properly#3902

Merged
Arqu merged 19 commits intomainfrom
arqu/wine_ci
Apr 7, 2026
Merged

fix: handle wine properly#3902
Arqu merged 19 commits intomainfrom
arqu/wine_ci

Conversation

@Arqu
Copy link
Copy Markdown
Collaborator

@Arqu Arqu commented Feb 2, 2026

Tests that iroh works under wine & proton in CI

Depends on

Ref: #3901

@Arqu Arqu self-assigned this Feb 2, 2026
@Arqu Arqu added the test label Feb 2, 2026
@Arqu Arqu added this to iroh Feb 2, 2026
@Arqu Arqu added this to the iroh: v0.97 milestone Feb 2, 2026
@github-project-automation github-project-automation Bot moved this to 🚑 Needs Triage in iroh Feb 2, 2026
@Arqu Arqu moved this from 🚑 Needs Triage to 🏗 In progress in iroh Feb 2, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 2, 2026

Documentation for this PR has been generated and is available at: https://n0-computer.github.io/iroh/pr/3902/docs/iroh/

Last updated: 2026-04-07T16:26:35Z

@dignifiedquire dignifiedquire changed the title feat(ci): wine testing ci: test on wine Feb 2, 2026
@Arqu Arqu moved this from 🏗 In progress to 👀 In review in iroh Feb 3, 2026
@dignifiedquire dignifiedquire force-pushed the arqu/wine_ci branch 5 times, most recently from 1a013e7 to 3b1dcf3 Compare February 6, 2026 12:04
@dignifiedquire dignifiedquire changed the title ci: test on wine fix: handle wine properly Feb 6, 2026
@flub
Copy link
Copy Markdown
Contributor

flub commented Mar 30, 2026

would be great to get this mergeable again

@jestarray
Copy link
Copy Markdown

if this ever does get merged, please PR the fix to quinn as well, thanks!

@Arqu
Copy link
Copy Markdown
Collaborator Author

Arqu commented Apr 3, 2026

if this ever does get merged, please PR the fix to quinn as well, thanks!

The fixes are already merged this is just the final step to get it into CI too. The fixes are available in our fork of quinn (noq)

Adds netwatch patch from fix-rebind branch which fixes:
- Socket stuck in Closed state after failed rebind (AddrInUse)
- SO_REUSEADDR to handle Wine's non-instantaneous socket close
Network change tests are too flaky under Wine emulation due to
slow/unreliable socket rebinding. Skip them in the Wine nextest
profile until Wine compatibility improves.

Also reverts the run_roundtrip timeout back to 4s.
@Arqu Arqu requested review from dignifiedquire and flub April 3, 2026 07:38
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 3, 2026

Netsim report & logs for this PR have been generated and is available at: LOGS
This report will remain available for 3 days.

Last updated for commit: 067c40b

Copy link
Copy Markdown
Contributor

@flub flub left a comment

Choose a reason for hiding this comment

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

I don't know what to make of the Cargo.lock changes. There are no Cargo.toml changes and some dependencies are getting newer versions, some are getting older versions. Some even go from a release to an RC before the release.

Is this the result of running cargo update on windows or something? CI claims it doesn't break any of the other builds, but what about the inverse? Will we break windows once we update a dep elsewhere? Is this change needed or accidental?

@Arqu Arqu merged commit 8bf7002 into main Apr 7, 2026
31 of 32 checks passed
@github-project-automation github-project-automation Bot moved this from 👀 In review to ✅ Done in iroh Apr 7, 2026
@Arqu Arqu deleted the arqu/wine_ci branch April 7, 2026 16:38
eleboucher pushed a commit to eleboucher/towonel that referenced this pull request Apr 18, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [iroh](https://github.com/n0-computer/iroh) | workspace.dependencies | minor | `0.97.0` → `0.98.0` |

---

### Release Notes

<details>
<summary>n0-computer/iroh (iroh)</summary>

### [`v0.98.0`](https://github.com/n0-computer/iroh/blob/HEAD/CHANGELOG.md#0980---2026-04-17)

[Compare Source](n0-computer/iroh@v0.97.0...v0.98.0)

##### ⛰️  Features

- *(iroh)* Avoid allocations in `AddrFilter` ([#&#8203;4018](n0-computer/iroh#4018)) - ([d26cbd2](n0-computer/iroh@d26cbd2))
- *(iroh)* Pluggable crypto backends ([#&#8203;3992](n0-computer/iroh#3992)) - ([387c2e4](n0-computer/iroh@387c2e4))
- *(iroh)* Add ability to configure external addrs ([#&#8203;4098](n0-computer/iroh#4098)) - ([372aab9](n0-computer/iroh@372aab9))
- *(iroh)* Do not advertise deprecated IPv6 addrs ([#&#8203;4106](n0-computer/iroh#4106)) - ([b2b1d46](n0-computer/iroh@b2b1d46))
- *(iroh-relay)* Expose more metrics on the relay server ([#&#8203;4085](n0-computer/iroh#4085)) - ([ee844a6](n0-computer/iroh@ee844a6))
- Expose the new fn decrypt on noq. ([#&#8203;4002](n0-computer/iroh#4002)) - ([197d8db](n0-computer/iroh@197d8db))
- Update noq and net-tools to latest ([#&#8203;4088](n0-computer/iroh#4088)) - ([159a5cf](n0-computer/iroh@159a5cf))
- Rate limiting in router ([#&#8203;3951](n0-computer/iroh#3951)) - ([ea7a634](n0-computer/iroh@ea7a634))
- Update relay protocol to iroh-relay-v2, add new Health frame, test protocol update mechanism ([#&#8203;3955](n0-computer/iroh#3955)) - ([0a22d76](n0-computer/iroh@0a22d76))
- Update to noq\@&#8203;0.18 ([#&#8203;4121](n0-computer/iroh#4121)) - ([72e4538](n0-computer/iroh@72e4538))
- Vendor pkarr implementation ([#&#8203;4026](n0-computer/iroh#4026)) - ([3ab6222](n0-computer/iroh@3ab6222))

##### 🐛 Bug Fixes

- *(ci)* Install cmake and nasm for aws-lc-sys on Windows ([#&#8203;4032](n0-computer/iroh#4032)) - ([405de1d](n0-computer/iroh@405de1d))
- *(iroh)* \[**breaking**] Faster relay health check after network change ([#&#8203;4041](n0-computer/iroh#4041)) - ([b11b0eb](n0-computer/iroh@b11b0eb))
- *(iroh)* `Endpoint::online` should only return once connected to a relay ([#&#8203;4115](n0-computer/iroh#4115)) - ([3424c6d](n0-computer/iroh@3424c6d))
- *(iroh)* \[**breaking**] Don't stop address lookup when one service errors ([#&#8203;4126](n0-computer/iroh#4126)) - ([321443d](n0-computer/iroh@321443d))
- *(iroh)* Don't falsely report home relay as connected on change ([#&#8203;4136](n0-computer/iroh#4136)) - ([1b04d34](n0-computer/iroh@1b04d34))
- *(iroh-relay)* Send EndpointGone message to the right peers ([#&#8203;4079](n0-computer/iroh#4079)) - ([6be4b3c](n0-computer/iroh@6be4b3c))
- *(iroh-relay)* Treat frames not allowed in a protocol version as error ([#&#8203;4127](n0-computer/iroh#4127)) - ([1c92a39](n0-computer/iroh@1c92a39))
- Improve holepunching after network changes ([#&#8203;3928](n0-computer/iroh#3928)) - ([cc21f51](n0-computer/iroh@cc21f51))
- Poll for default route with exponential backoff after network change ([#&#8203;4039](n0-computer/iroh#4039)) - ([dc01a77](n0-computer/iroh@dc01a77))
- Modify test\_ip\_wins\_over\_custom so it is a noop if no ip transport is… ([#&#8203;4048](n0-computer/iroh#4048)) - ([b141e02](n0-computer/iroh@b141e02))
- Increase path idle timeouts and configure relay paths ([#&#8203;4038](n0-computer/iroh#4038)) - ([eba6afc](n0-computer/iroh@eba6afc))
- Handle wine properly ([#&#8203;3902](n0-computer/iroh#3902)) - ([8bf7002](n0-computer/iroh@8bf7002))
- Set default crypto provider for iroh-relay binary ([#&#8203;4087](n0-computer/iroh#4087)) - ([2433645](n0-computer/iroh@2433645))

##### 🚜 Refactor

- *(iroh)* \[**breaking**] Improve address lookup registry ([#&#8203;4130](n0-computer/iroh#4130)) - ([481c870](n0-computer/iroh@481c870))
- *(iroh, iroh-relay)* \[**breaking**] Mark public types as non\_exhaustive ([#&#8203;4107](n0-computer/iroh#4107)) - ([86d3ac6](n0-computer/iroh@86d3ac6))
- *(iroh-base)* \[**breaking**] Don't expose third-party error types in iroh-base ([#&#8203;4073](n0-computer/iroh#4073)) - ([d803dfe](n0-computer/iroh@d803dfe))
- *(iroh-base)* \[**breaking**] Rename `CustomAddr::as_vec`  to `CustomAddr::to_vec` and improve docs ([#&#8203;4074](n0-computer/iroh#4074)) - ([3077f17](n0-computer/iroh@3077f17))
- *(iroh-base)* \[**breaking**] Change `SecretKey::generate` to not take an `Rng` arg ([#&#8203;4075](n0-computer/iroh#4075)) - ([36781ad](n0-computer/iroh@36781ad))
- *(iroh-relay)* \[**breaking**] Proper timeouts on relay connections ([#&#8203;4083](n0-computer/iroh#4083)) - ([79bb0e4](n0-computer/iroh@79bb0e4))
- Use latest noq api ([#&#8203;4057](n0-computer/iroh#4057)) - ([8af8370](n0-computer/iroh@8af8370))
- Remove needless alloc in relay server ([#&#8203;4084](n0-computer/iroh#4084)) - ([40b50a1](n0-computer/iroh@40b50a1))
- Move to\_z32/from\_z32 into iroh-base and remove EndpointIdExt trait ([#&#8203;4133](n0-computer/iroh#4133)) - ([382bf36](n0-computer/iroh@382bf36))

##### 🧪 Testing

- *(iroh)* Add patchbay test matrix for switching uplinks ([#&#8203;4095](n0-computer/iroh#4095)) - ([d72f1cb](n0-computer/iroh@d72f1cb))
- *(iroh)* Add more patchbay tests and improve existing tests ([#&#8203;4118](n0-computer/iroh#4118)) - ([f5ec24a](n0-computer/iroh@f5ec24a))
- *(iroh)* Improve patchbay NAT matrix ([#&#8203;4135](n0-computer/iroh#4135)) - ([2ad657a](n0-computer/iroh@2ad657a))
- Fix ip\_wins\_over\_custom flakiness ([#&#8203;4047](n0-computer/iroh#4047)) - ([174b58b](n0-computer/iroh@174b58b))
- Add patchbay tests ([#&#8203;3986](n0-computer/iroh#3986)) - ([2ab1240](n0-computer/iroh@2ab1240))
- Improve patchbay test setup ([#&#8203;4078](n0-computer/iroh#4078)) - ([9b01751](n0-computer/iroh@9b01751))
- Minor patchbay test improvements ([#&#8203;4091](n0-computer/iroh#4091)) - ([0cc2441](n0-computer/iroh@0cc2441))

##### ⚙️ Miscellaneous Tasks

- *(ci)* Move more CI jobs to self hosted runners ([#&#8203;4072](n0-computer/iroh#4072)) - ([54442c3](n0-computer/iroh@54442c3))
- *(iroh)* Update hickory to 0.26.0-beta.4 and use exact-version deps for prereleased crates ([#&#8203;4117](n0-computer/iroh#4117)) - ([f829593](n0-computer/iroh@f829593))
- *(iroh-bench)* Allow configuring the number of worker threads for each endpoint in iroh-bench ([#&#8203;4063](n0-computer/iroh#4063)) - ([065b448](n0-computer/iroh@065b448))
- Update to netwatch\@&#8203;0.16 and portmapper\@&#8203;0.16 ([#&#8203;4128](n0-computer/iroh#4128)) - ([24efedf](n0-computer/iroh@24efedf))
- Fix changelog generation - ([08c6454](n0-computer/iroh@08c6454))

##### Deps

- *(iroh)* Update patchbay to 0.5 ([#&#8203;4097](n0-computer/iroh#4097)) - ([811a062](n0-computer/iroh@811a062))
- Bump noq and net-tools ([#&#8203;4113](n0-computer/iroh#4113)) - ([184e378](n0-computer/iroh@184e378))

##### Examples

- *(iroh)* Allow to configure the receive window in the transfer example ([#&#8203;4082](n0-computer/iroh#4082)) - ([c865251](n0-computer/iroh@c865251))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL21pbm9yIl19-->

Reviewed-on: https://git.erwanleboucher.dev/eleboucher/towonel/pulls/19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

4 participants