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

Switch to use GitHub Actions from Travis #24333

Merged
merged 5 commits into from
Apr 3, 2020
Merged

Switch to use GitHub Actions from Travis #24333

merged 5 commits into from
Apr 3, 2020

Conversation

tfoote
Copy link
Member

@tfoote tfoote commented Apr 2, 2020

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.

@tfoote tfoote requested a review from a team April 2, 2020 19:07
@tfoote tfoote self-assigned this Apr 2, 2020
@clalancette
Copy link
Contributor

Yes, yes, yes! Thanks @tfoote! Will review.

Copy link
Contributor

@clalancette clalancette left a 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]
Copy link
Contributor

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?

Copy link
Member Author

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.

Copy link
Contributor

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.

Comment on lines 29 to 32
- name: Run yamllint
run: yamllint */
- name: Run Nose Tests
run: nosetests -s
Copy link
Contributor

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.

Copy link
Member Author

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.

@tfoote tfoote requested a review from clalancette April 2, 2020 23:01
Copy link
Contributor

@clalancette clalancette left a 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).

@nuclearsandwich
Copy link
Member

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.

Copy link
Member

@nuclearsandwich nuclearsandwich left a 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.

.github/workflows/build_test.yaml Outdated Show resolved Hide resolved
.github/workflows/build_test.yaml Outdated Show resolved Hide resolved
@tfoote
Copy link
Member Author

tfoote commented Apr 3, 2020

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.

@tfoote tfoote merged commit cf68366 into master Apr 3, 2020
@tfoote tfoote deleted the test_actions branch April 3, 2020 22:14
sloretz pushed a commit that referenced this pull request Aug 5, 2020
* Switch to use GitHub Actions from Travis

Signed-off-by: Tully Foote <[email protected]>
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.

3 participants