-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Switch to use GitHub Actions from Travis #24333
Conversation
Signed-off-by: Tully Foote <[email protected]>
Yes, yes, yes! Thanks @tfoote! Will review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at the output from the checks, one thing that was nicer about travis is the collapsible blocks for the output. Is something like that possible in Github actions? It's not a huge deal either way, but it would just be easier to review failures.
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: [2.7, 3.8] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we still need to bother with Python 2.7? I know we historically had it there, but I'm not sure there is much value in it anymore. Thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy to remove it. I don't think we really need it long term. But I tried to change as little as possible to make sure we're still getting the same results.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All right, that's fine. We can leave it for now, and remove it in a separate PR.
.github/workflows/build_test.yaml
Outdated
- name: Run yamllint | ||
run: yamllint */ | ||
- name: Run Nose Tests | ||
run: nosetests -s |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is probably just my unfamiliarity with Github actions/rosdistro tests, but how does just fetching the master data work? Do the tests themselves checkout different branches and do the diffs?
Pretty minor, but in the travis code, we had nosetests first, followed by yamllint. I'm not sure if we trip up one or the other more often.
Also, nit: newline at the end of the file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RE: Fetch
We can't afford to check all the urls for validity so the unit tests computes the diff to origin/master
and then only validates changed and added urls. This is also how we detect modifications of EOL distros etc. The checkout in in the actions is stripped down more, on travis the whole of origin was available without explicitly requesting it.
Re: Ordering
I moved the yamllint first because it takes much less time to run. So I figured to run it first to be able to give quicker feedback if it failed. Maybe I can run it in parallel with a separate check.
I'll add the new line.
Signed-off-by: Tully Foote <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. It's probably a good idea to get another person to take a quick perusal before merging. Also, I think we'll need to disable the travis "hook" somehow, since it still seems to be running (even with .travis.yml removed here).
Great minds think alike. I like splitting linting and other tests. One thing I noticed when experimenting with Windows builds in the matrix is that the default runners seem to abort all builds when the first one fails. I haven't looked for how to change that behavior yet so I don't know if we can. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One question and one suggestion/alternative. Neither is blocking and this is way cool.
Signed-off-by: Tully Foote <[email protected]>
Signed-off-by: Tully Foote <[email protected]>
Signed-off-by: Tully Foote <[email protected]>
When I went to update the protected branches I noticed the naming was all off so I cleaned that up too. We can give it a shot. it looks like with the required tests switched that outstanding PRs will need a manual review to make sure travis passed. But that count should drop away quickly. |
* Switch to use GitHub Actions from Travis Signed-off-by: Tully Foote <[email protected]>
We've been having issues with Travis reporting. I think that this should be a drop in replacement.
To merge this we'll also have to update the required status checks on the protected branch master.