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 from Travis to GitHub Actions #2963

Merged
merged 3 commits into from
Nov 17, 2020
Merged

Conversation

Xarthisius
Copy link
Member

@Xarthisius Xarthisius commented Nov 11, 2020

It's my attempt to migrate our cloud testing infra to GitHub actions. I believe it has a parity with current Travis setup. I skipped one of the test runs (Py3.6 unittests non-minimal), because I think it was redundant. However, it can be trivially brought back. Comments are welcome at this point.

@Xarthisius Xarthisius added the infrastructure Related to CI, versioning, websites, organizational issues, etc label Nov 11, 2020
@Xarthisius Xarthisius changed the title Add test workflow [WIP] Add test workflow Nov 11, 2020
@Xarthisius Xarthisius force-pushed the gha branch 12 times, most recently from 47f3de3 to 0452eb6 Compare November 12, 2020 01:52
@Xarthisius Xarthisius changed the title [WIP] Add test workflow Migrate from Travis to GitHub Actions Nov 12, 2020
@Xarthisius Xarthisius added enhancement Making something better tests: running tests Issues with the test setup labels Nov 12, 2020
Copy link
Member

@matthewturk matthewturk left a comment

Choose a reason for hiding this comment

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

This is awesome. A few comments/suggestions in review.

.github/workflows/build-test.yaml Outdated Show resolved Hide resolved
.github/workflows/build-test.yaml Outdated Show resolved Hide resolved
.github/workflows/build-test.yaml Outdated Show resolved Hide resolved
tests/ci_install.sh Outdated Show resolved Hide resolved
@munkm munkm self-requested a review November 12, 2020 03:00
@munkm
Copy link
Member

munkm commented Nov 12, 2020

I will review this as soon as I finish the release. I'm totally in support of the migration!

build: false

test_script:
- "echo 'Not testing anything. This is done on Travis'"
Copy link
Member

Choose a reason for hiding this comment

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

Deleting the appveyor.yml file will make this PR and all subsequent one fail until we deactivate appveyor completely. I would suggest delaying this to a future PR (otherwise I think we'd have to update all existing PRs to remove the appveyor.yml file).

Copy link
Member

Choose a reason for hiding this comment

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

+1 to this. I think we should have dummy appveyor and travis files like what corentin already did with appveyor. What if we added a comment in both files that they'll be removed officially from master in ~3-6 months (and the date can be recorded in the file maybe) or something?

Copy link
Member Author

Choose a reason for hiding this comment

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

There's always going to be a point when there are outstanding PRs and removing this file on master will force them to merge/rebase. I don't think setting a date will make a difference. As for appveyor I was planning on disabling it even before this goes in.

Copy link
Member Author

Choose a reason for hiding this comment

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

Also I don't think anyone will need to remove appveyor.yml, unless they made some changes locally that were not on master.

Copy link
Member

Choose a reason for hiding this comment

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

There's always going to be a point when there are outstanding PRs and removing this file on master will force them to merge/rebase.

Yes that's true. The reason I proposed this is because we've asked contributors to do this several times this year, which hasn't been the case in the past. I could see that be frustrating or even offputting.

- name: Run Tests
env:
testsuite: ${{ matrix.tests-type }}
run: python -m nose -c nose_${testsuite}.cfg --traverse-namespace
Copy link
Member

Choose a reason for hiding this comment

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

Aren't we losing the coverage information?

Copy link
Member

Choose a reason for hiding this comment

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

We will also probably need to modify the codecov webhook I think (?)

Copy link
Member Author

Choose a reason for hiding this comment

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

Is the coverage working right now?

Copy link
Member

@munkm munkm left a comment

Choose a reason for hiding this comment

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

Thank you so much for doing this @Xarthisius!!! I'm generally in approval of this, pending a few updates.

Do we want to add a Python 3.9 testing stage any time soon?

libgeos-dev \
libopenmpi-dev
;;
osx|macOS)
Copy link
Member

Choose a reason for hiding this comment

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

does there need to be a windows step here too?

Copy link
Member Author

Choose a reason for hiding this comment

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

nope, it's covered below.

- name: Run Tests
env:
testsuite: ${{ matrix.tests-type }}
run: python -m nose -c nose_${testsuite}.cfg --traverse-namespace
Copy link
Member

Choose a reason for hiding this comment

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

We will also probably need to modify the codecov webhook I think (?)

tests/ci_install.sh Outdated Show resolved Hide resolved
tests/ci_install.sh Show resolved Hide resolved
@matthewturk
Copy link
Member

This seems like a vast improvement. Is there anything left? It looks like coverage (maybe) and some comments?

@Xarthisius
Copy link
Member Author

Just to sum up the current status:

  • coverage is not working with our current infra and hasn't been for a longtime (check out https://codecov.io/gh/yt-project/yt). I basically removed it because it's broken. I hope we can add it as a part of future PR
  • Appveyor has been disabled and the removal of appveyor.yml just completes the process. It shouldn't affect existing PRs in anyway, except for those PRs that explicitly modify content of that file.

@munkm @neutrinoceros @cphyc is there anything else for me to address?

Copy link
Member

@neutrinoceros neutrinoceros left a comment

Choose a reason for hiding this comment

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

@munkm @neutrinoceros @cphyc is there anything else for me to address?

Afaic this is now good to go !

@cphyc
Copy link
Member

cphyc commented Nov 17, 2020

@munkm @neutrinoceros @cphyc is there anything else for me to address?

It's good to go for me!

@munkm
Copy link
Member

munkm commented Nov 17, 2020

🎉 thank you so much @Xarthisius !!!!

@munkm munkm merged commit 43275cf into yt-project:master Nov 17, 2020
@Xarthisius Xarthisius mentioned this pull request Nov 18, 2020
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Making something better infrastructure Related to CI, versioning, websites, organizational issues, etc tests: running tests Issues with the test setup
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants