Skip to content

Conversation

@lxin
Copy link

@lxin lxin commented Feb 13, 2025

This patchset integrates linuxquic into the quic interop runner and enables it in CI.

  • The 1st patch adds linuxquic testing image into the implementation.
  • The 2nd patch introduces a reusable CI workflow for interop tests, addressing GitHub Actions' 256-job matrix limit, as suggested by Lars Eggert in Add openssl docker image for interop testing #402
  • The 3rd patch enables linuxquic in interop CI tests, leveraging the improved workflow to avoid job limit constraints.

With this patchset, interop tests CI can now run successfully with additional images, as shown in https://github.com/lxin/quic-interop-runner/actions/runs/13320422050

Thanks to Moritz Buhl for initiating the interop tests for linuxquic.

@larseggert
Copy link
Contributor

@lxin I tried to add linuxquic to the neqo CI (mozilla/neqo#2507) but all tests are failing. What am I doing wrong?

@miyangmia
Copy link

miyangmia commented Mar 18, 2025

@larseggert Oh, I just checked your commit. As linuxquic implement QUIC in kernel, you need to install the QUIC kernel module on the host, as it does in the patch "ci: enable linuxquic in interop tests ".

@lxin
Copy link
Author

lxin commented Mar 18, 2025

@larseggert FYI, The result of the interop test I ran with this patchset on Mar 9th:

Screenshot 2025-03-09 at 13-46-06 QUIC Interop Runner

@alaendle
Copy link

@marten-seemann I just wanted to ask if it makes sense to consider adding a new Quic implementation right now, because I've seen that this and other pull requests have been sitting for a while. And please don't misunderstand me, I simply want to avoid potentially creating work for no chance of integration. This shouldn't be interpreted as criticism or an expectation; I'm already happy with this framework and can use it for testing as is. So, thank you very much for providing this.

lxin added 3 commits October 30, 2025 21:48
Add linuxquic-interop docker image in implementations.json, and skip
it if kernel module doesn't exists in implementations.py.

Signed-off-by: Xin Long <[email protected]>
This reusable workflow groups interop tests by client, improving
organization.

More importantly, it works around the 256-job limit in the GitHub
Actions' matrix strategy, allowing additional images to be
included in implementations.json.

This approach requires minimal changes to interop.yml, primarily
moving the tests section into interop-tests.yml. The workflow now
matrices over all clients, passing a single client and all servers
to interop-tests.yml per run.

Suggested-by: Lars Eggert <[email protected]>
Signed-off-by: Xin Long <[email protected]>
Install the Linux QUIC module in CI interop tests when either the client
or server is Linux QUIC, ensuring its availability in interop CI.

Note if the kernel already supports QUIC, running make -C modules install
will have no effect on the host.

Signed-off-by: Xin Long <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants