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

Migrate CI/CD from AppVeyor to GitHub Actions #85

Merged
merged 56 commits into from
Jan 24, 2024
Merged

Migrate CI/CD from AppVeyor to GitHub Actions #85

merged 56 commits into from
Jan 24, 2024

Conversation

clyde-johnston
Copy link
Contributor

GitHub Actions workflow created to replace AppVeyor.

Note: assert() was removed from the _unittest_slow_cli_pub_sub_anon test to make it work on Ubuntu runners.

.github/workflows/make-release.yml Outdated Show resolved Hide resolved
.github/workflows/make-release.yml Outdated Show resolved Hide resolved
.github/workflows/make-release.yml Outdated Show resolved Hide resolved
Copy link
Member

@pavel-kirienko pavel-kirienko left a comment

Choose a reason for hiding this comment

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

We have the same problem here as in OpenCyphal/pycyphal#303 (review)

@clyde-johnston
Copy link
Contributor Author

See OpenCyphal/pycyphal#303 for details.

Copy link
Member

@pavel-kirienko pavel-kirienko left a comment

Choose a reason for hiding this comment

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

The exit status of nox is ignored on Windows; you can see that currently, the Windows job fails but the workflow status is green. Can you please check if this is also the case in the other projects?

I am not sure what the root case of the error is. It says that it is unable to bind a multicast socket to a local network interface (localhost in this case):

pycyphal.transport._error.InvalidMediaConfigurationError: Could not register multicast group membership 239.0.29.85 via 127.0.0.0 using <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17> [WSAEADDRNOTAVAIL]

I am going to push an experimental change to collect more information about the problem.

@pavel-kirienko
Copy link
Member

Yep, my speculative fix worked (not sure why it even worked on AppVeyor before the fix). Now the remaining issues are five timeout errors: https://github.com/OpenCyphal/yakut/actions/runs/5912398047/job/16035771126?pr=85#step:6:6988

One common cause for timeout errors on Windows that I often run into while testing is that the stderr buffer is very small, and if a child process generates log messages or runtime warnings in large amounts, it fills up the buffer and then at one point blocks forever on a write to stderr, which then triggers the test suite to report a timeout error. Looking into that now.

@pavel-kirienko pavel-kirienko merged commit 9e9cd2f into main Jan 24, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants