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

[ci] Add workflow #56

Merged
merged 47 commits into from
Mar 20, 2024
Merged

[ci] Add workflow #56

merged 47 commits into from
Mar 20, 2024

Conversation

alvicsam
Copy link
Contributor

@dmitry-markin
Copy link
Collaborator

dmitry-markin commented Mar 13, 2024

Thanks! Is it possible to make all 4 independent tests, so it's instantly visible what check is failing?

@alvicsam
Copy link
Contributor Author

alvicsam commented Mar 13, 2024

Sure, added. The jobs have the same CI image (image: "paritytech/ci-unified:bullseye-1.75.0-2024-01-22-v20240222") in order to not repeat it several times we can add it to repo environment variables (but I need permissions for that)

@alvicsam alvicsam requested a review from dmitry-markin March 13, 2024 18:44
@dmitry-markin
Copy link
Collaborator

@alvicsam it seems a loopback interface is not enabled in the container. All the "real" networking tests fail with

called `Result::unwrap()` on an `Err` value: Os { code: 99, kind: AddrNotAvailable, message: "Cannot assign requested address" }

Can you have a look, please?

@dmitry-markin
Copy link
Collaborator

The jobs have the same CI image (image: "paritytech/ci-unified:bullseye-1.75.0-2024-01-22-v20240222") in order to not repeat it several times we can add it to repo environment variables (but I need permissions for that)

That would be nice. What kind of permissions do you need? What would be the best way forward to keep the image in sync with polkadot-sdk repo tests (so that at least the rust toolchain is the same)?

@alvicsam
Copy link
Contributor Author

Can you have a look, please?

Sure, I'll take a look

What would be the best way forward to keep the image in sync with polkadot-sdk repo tests (so that at least the rust toolchain is the same)?

This is a really good question. The problem is actually bigger because there will be more and more repos that will depend on the same CI image that is used in polkadot-sdk repo. I will create an issue in our tracker with thoughts how we can achieve that.

As for permissions I'll ask the security team to provide them.

@alvicsam
Copy link
Contributor Author

@dmitry-markin it seems I need your help with the tests
Tests in container fail with the error you sent (even if the container runs in the privileged mode). Without container it hangs on test protocol::request_response::large_response_quic has been running for over 60 seconds

@dmitry-markin
Copy link
Collaborator

@dmitry-markin it seems I need your help with the tests Tests in container fail with the error you sent (even if the container runs in the privileged mode). Without container it hangs on test protocol::request_response::large_response_quic has been running for over 60 seconds

My guess is that the issue can be due to loopback inteface not being present / being down. What was the output of ip a in the commit ci image var, check lo? If the lo interface was down, it should be brought up with ip link set lo up (probably appropriate privileges are required), and if it's not — there is something severely off with the networking in the container.

If lo is present and is up, we'll need to investigate further.

@alvicsam
Copy link
Contributor Author

I could run a simple http server on the lo interface so it's available.

@dmitry-markin
Copy link
Collaborator

I could run a simple http server on the lo interface so it's available.

Thanks, I'll think how to investigate the problem.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
@dmitry-markin
Copy link
Collaborator

Not sure what kind of machines the CI uses but is it possible that the request timeouts when it's trying to create the 15MiB response? I remember generating large number of random bytes was somewhat CPU intensive when I ran some tests locally so if the test would instead generate 15MiB vector of zeros before sending the request (swapping the order of these lines), would that make it pass?

It worked, and I also removed golang conformance tests, so now we should have all tests passing.

dmitry-markin and others added 20 commits March 19, 2024 13:32
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
tests: Add sysctl ipv6 and extra CI steps
@lexnv
Copy link
Collaborator

lexnv commented Mar 20, 2024

I'm happy to merge this whenever you think is ready! 🙏

@dmitry-markin
Copy link
Collaborator

I'm happy to merge this whenever you think is ready! 🙏

CC @alvicsam

@dmitry-markin
Copy link
Collaborator

@lexnv We should probably agree on the merge strategy for the repo. Personally I'm for squash & merge, we could also do a merge commit, and I don't think we should ever rebase & merge.

@alvicsam alvicsam merged commit 0adacd7 into master Mar 20, 2024
7 checks passed
@alvicsam alvicsam deleted the as-ci branch March 20, 2024 15:20
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