Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(.github): run QUIC Interop Runner #1682

Merged
merged 19 commits into from
Mar 6, 2024
Merged

Conversation

mxinden
Copy link
Collaborator

@mxinden mxinden commented Feb 26, 2024

Run the QUIC Interop Runner testcases on pull requests when entering the merge queue.

  1. Builds neqo QNS image off of pull request.
  2. Triggers Quic Network Simulator GitHub Action. (Depends on feat: add github action quic-interop/quic-interop-runner#356.)
    1. Configures Simulator to test all combinations that include neqo as a client or server. (Depends on feat: add --must-include flag quic-interop/quic-interop-runner#355.)
    2. Runs the tests and uploads the results as an artifact.
  3. Posts a comment on the pull request with the test results and a link to the artifacts. (Depends on feat: print result symbol in addition to color quic-interop/quic-interop-runner#354.)

image


This automation would prevent regressions (like e.g. #1676, #1627, #1578, #1714, ...) and continuously ensure interoperability with other implementations.

What do you think? Is this helpful?

Run the QUIC Interop Runner testcases on pull requests when entering the merge queue.
Copy link

codecov bot commented Feb 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 93.01%. Comparing base (6f407c9) to head (d2e3efa).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1682      +/-   ##
==========================================
+ Coverage   92.98%   93.01%   +0.02%     
==========================================
  Files         120      120              
  Lines       37399    37399              
==========================================
+ Hits        34775    34785      +10     
+ Misses       2624     2614      -10     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

.github/workflows/qns-comment.yml Show resolved Hide resolved
.github/workflows/qns-comment.yml Outdated Show resolved Hide resolved
Copy link
Collaborator Author

@mxinden mxinden left a comment

Choose a reason for hiding this comment

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

Ready for review.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I suggest duplicating this in mozilla/neqo for now until quic-interop/quic-interop-runner#356 is merged.

Comment on lines +71 to +72
client: neqo-latest,quic-go,ngtcp2,neqo,msquic
server: neqo-latest,quic-go,ngtcp2,neqo,msquic
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Not a strong opinion. Happy to change.

name: 'neqo-latest'
image: ${{ steps.docker_build_and_push.outputs.imageID }}
url: https://github.com/mozilla/neqo
test: handshake
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Testcase handshake for now to keep CI time low. I suggest we expand gradually once we gained some experience running the QUIC Interop tests on each pull request. Happy to change.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

A comment with the test results on each pull requests will only appear once this workflow is in main.

@mxinden mxinden marked this pull request as ready for review March 6, 2024 12:46
Comment on lines 63 to 64
- run: docker image ls
shell: bash
Copy link
Collaborator

Choose a reason for hiding this comment

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

Debugging leftover?

sudo apt-get install -y wireshark tshark jq
shell: bash

- uses: actions/setup-python@v4
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5

shell: bash

- name: Checkout quic-interop/quic-interop-runner repository
uses: actions/checkout@v2
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
uses: actions/checkout@v2
uses: actions/checkout@v4

Comment on lines +56 to +61
- name: Install Python packages
run: |
cd quic-interop-runner
pip install -U pip
pip install -r requirements.txt
shell: bash
Copy link
Collaborator

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good idea.

07fe740 enables caching. You can see it in action on https://github.com/mozilla/neqo/actions/runs/8176970683/job/22357558169?pr=1682.

@mxinden
Copy link
Collaborator Author

mxinden commented Mar 6, 2024

Thanks for the review @larseggert. I addressed all comments. Mind taking another look?

@larseggert larseggert added this pull request to the merge queue Mar 6, 2024
Merged via the queue into mozilla:main with commit c751b4e Mar 6, 2024
14 checks passed
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.

2 participants