Skip to content

Conversation

@brbzull0
Copy link
Contributor

No description provided.

@brbzull0 brbzull0 added the Tools label Apr 13, 2023
@brbzull0 brbzull0 added this to the 10.0.0 milestone Apr 13, 2023
@brbzull0 brbzull0 requested a review from bneradt April 13, 2023 13:28
@brbzull0 brbzull0 self-assigned this Apr 13, 2023
Copy link
Contributor

@bneradt bneradt left a comment

Choose a reason for hiding this comment

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

@brbzull0 brbzull0 force-pushed the add_boringssl_to_h3_tools_script branch from 7718f66 to 8359562 Compare April 13, 2023 16:12
@bneradt
Copy link
Contributor

bneradt commented Apr 13, 2023

A related change:
#9608

@brbzull0 brbzull0 force-pushed the add_boringssl_to_h3_tools_script branch from 8359562 to ae6bdc8 Compare April 17, 2023 19:34
Copy link
Contributor

@bneradt bneradt left a comment

Choose a reason for hiding this comment

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

Looks good generally. Just one observation.

@brbzull0 brbzull0 force-pushed the add_boringssl_to_h3_tools_script branch from ae6bdc8 to ef21134 Compare April 18, 2023 09:54
Copy link
Contributor

@bneradt bneradt left a comment

Choose a reason for hiding this comment

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

One other thing comes to mind: we should update the yum install and apt install lines. I think this will need cargo and rust added, right?

@brbzull0
Copy link
Contributor Author

brbzull0 commented Apr 18, 2023

One other thing comes to mind: we should update the yum install and apt install lines. I think this will need cargo and rust added, right?

yum/apt seems to be an informative print out. I can add cargo and a link to build up rust, but it will only be an informative text.

for reference, cargo and rust are also mentioned here among others that aren't mentioned here which may also be needed.

@cmcfarlen
Copy link
Contributor

What is the intent of this? I see it building boringssl but not building anything that uses it. Are you planning on running this script to install deps for building ATS?

I'd prefer this script not automatically install a new version of go in /usr/local. Can it check for an existing go installation beforehand?

Copy link
Contributor

@cmcfarlen cmcfarlen left a comment

Choose a reason for hiding this comment

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

I'd prefer this script not automatically install a new version of go in /usr/local. Can it check for an existing go installation beforehand?

@brbzull0
Copy link
Contributor Author

What is the intent of this? I see it building boringssl but not building anything that uses it. Are you planning on running this script to install deps for building ATS?

I'd prefer this script not automatically install a new version of go in /usr/local. Can it check for an existing go installation beforehand?

This is to build the toolchain around H3/QUIC and QUICHE, boringssl is now mandatory to build ATS with quiche.
go is needed to build boringssl and I think the minimal version is 1.20.

@brbzull0
Copy link
Contributor Author

I'd prefer this script not automatically install a new version of go in /usr/local. Can it check for an existing go installation beforehand?

I don't use go so please let me know if this is an issue, as I do not use go it makes no diff to me where it sits. But happy to adjust it if we all agreed.

Also -> https://github.com/apache/trafficserver/pull/9606/files#r1165525319

@cmcfarlen
Copy link
Contributor

For me I'd prefer this script use the installed go if adequate and if this script installs go that it not go in any directory that might end up being in the user's PATH.

boringssl should be done before quiche.
quiche should use the boringssl folder to link.
@brbzull0 brbzull0 force-pushed the add_boringssl_to_h3_tools_script branch from a8aae90 to b4c9c7e Compare April 26, 2023 16:43
[ ! -d quiche ] && git clone --recursive https://github.com/cloudflare/quiche.git
cd quiche
cargo build -j4 --package quiche --release --features ffi,pkg-config-meta,qlog
QUICHE_BSSL_PATH=${BASE}/boringssl QUICHE_BSSL_LINK_KIND=dylib cargo build -j4 --package quiche --release --features ffi,pkg-config-meta,qlog
Copy link
Contributor Author

Choose a reason for hiding this comment

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

we use the libs from the boringssl we just built.

Copy link
Contributor

@bneradt bneradt left a comment

Choose a reason for hiding this comment

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

Looks good. Just a few suggestions.

@bneradt
Copy link
Contributor

bneradt commented Apr 26, 2023

I tested this with my suggested changes for updating the CI builds, and the builds worked fine. I'll be updating the images shortly (either tonight or tomorrow).

Thank you for working on this @brbzull0 .

@bneradt
Copy link
Contributor

bneradt commented Apr 27, 2023

[approve ci autest rocky]

@bneradt
Copy link
Contributor

bneradt commented Apr 27, 2023

Looks like the connect, polite_hook_wait, h2enable, h2enable_no_accept_threads, and proxy_protocol tests are now failing with the updated tools. I'll look into this shortly.

On the plus side, while the quiche tests are still running and there are failures, at least the active_timeout test passes now:

https://ci.trafficserver.apache.org/view/10.x-master/job/master/job/quiche/34/console

Running Test active_timeout:... Passed

@bneradt
Copy link
Contributor

bneradt commented Apr 27, 2023

I see...the curl in the updated tools is very new, 7.88. We'll have to update some gold files I believe. I can work on that in a bit.

@bneradt
Copy link
Contributor

bneradt commented Apr 27, 2023

Looks like the connect, polite_hook_wait, h2enable, h2enable_no_accept_threads, and proxy_protocol tests are now failing with the updated tools. I'll look into this shortly.

On the plus side, while the quiche tests are still running and there are failures, at least the active_timeout test passes now:

https://ci.trafficserver.apache.org/view/10.x-master/job/master/job/quiche/34/console

Running Test active_timeout:... Passed

I updated the gold file tests for the new version of curl here:
#9651

@bneradt
Copy link
Contributor

bneradt commented Apr 27, 2023

[approve ci autest]

@brbzull0 brbzull0 added the QUIC label Apr 27, 2023
@brbzull0
Copy link
Contributor Author

Looks like the connect, polite_hook_wait, h2enable, h2enable_no_accept_threads, and proxy_protocol tests are now failing with the updated tools. I'll look into this shortly.
On the plus side, while the quiche tests are still running and there are failures, at least the active_timeout test passes now:
https://ci.trafficserver.apache.org/view/10.x-master/job/master/job/quiche/34/console

Running Test active_timeout:... Passed

I updated the gold file tests for the new version of curl here: #9651

great! the other one that was failing should pass once we get #9642 in.

Thanks for helping with this Brian!!

@bneradt
Copy link
Contributor

bneradt commented Apr 27, 2023

quiche branch autests are passing with these changes integrated into the rockylinux docker image:
https://ci.trafficserver.apache.org/job/master/job/quiche/35/console

Thanks for working on this. It's nice to see that build green.

@brbzull0
Copy link
Contributor Author

[approve ci autest]

Copy link
Contributor

@bneradt bneradt left a comment

Choose a reason for hiding this comment

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

Looks great to me, @brbzull0 .

@bneradt bneradt merged commit 1756f9d into apache:master Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants