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

Consider migrating tests from AppVeyor/Travis CI to Azure Pipelines #4498

Closed
hcho3 opened this issue May 24, 2019 · 14 comments
Closed

Consider migrating tests from AppVeyor/Travis CI to Azure Pipelines #4498

hcho3 opened this issue May 24, 2019 · 14 comments
Labels

Comments

@hcho3
Copy link
Collaborator

hcho3 commented May 24, 2019

Consider migrating all tests from AppVeyor/Travis CI to Azure Pipelines.

Why migrate tests?

TODO. Test Azure Pipelines for performance and stability

cc @sriramch

@CodingCat
Copy link
Member

+10000 on getting rid of AppVeyor

@hcho3
Copy link
Collaborator Author

hcho3 commented Jun 18, 2019

I played with Azure Pipelines a bit, and so far it's been pleasure to work with.

  • Builds start almost instantaneously and run fast.
  • In a single YAML file, I can use Linux, Mac OSX, and Windows agents.
  • Jobs run in parallel, but some jobs can be made dependent on other jobs.

See example: azure-pipelines.yml, build result

@trivialfis
Copy link
Member

Can't wait.

@trams
Copy link
Contributor

trams commented Aug 20, 2019

I am also interested in seeing Azure Pipelines instead of AppVeyor

@hcho3
Copy link
Collaborator Author

hcho3 commented Jul 22, 2020

We've set up GitHub Actions (#5917) and moved some tests from AppVeyor to GitHub Actions (#5922). There is currently a nondeterministic test that's blocking a further migration away from AppVeyor.

We are keeping Travis CI because we need access to MacOS High Sierra to build XGBoost Python wheel. (Expectation is that it will be compatible with last three major releases, High Sierra, Mojave, and Catalina.) GitHub Actions only provides MacOS Catalina.

Closing this in favor of #5891.

@hcho3 hcho3 closed this as completed Jul 22, 2020
@trivialfis
Copy link
Member

@hcho3 I don't think we are running 3 versions of osx on travis right?

@trivialfis
Copy link
Member

trivialfis commented Jul 22, 2020

Another thing is, our test on Travis now takes 1.5+ hour to run for each PR. And multiple PRs cannot be run in parallel.

@hcho3
Copy link
Collaborator Author

hcho3 commented Jul 22, 2020

And multiple PRs cannot be run in parallel.

Travis CI runs multiple Linux jobs just fine. It's just that their MacOS agent pool is really small, so our jobs get stuck in the global queue for a long time.

@hcho3
Copy link
Collaborator Author

hcho3 commented Jul 22, 2020

I don't think we are running 3 versions of osx on travis right?

No. We assume backward compatibility: if we can build and run XGBoost on MacOS High Sierra, then the generated binary should also be compatible with MacOS Mojave/Catalina.

@trivialfis
Copy link
Member

Got it. Thanks for the explanation.

@hcho3 hcho3 reopened this Jul 22, 2020
@hcho3
Copy link
Collaborator Author

hcho3 commented Jul 22, 2020

Reopening, since Travis CI seems to be quite slow nowadays. The tests remain in queue for 2-3 hours. (Once they start, they are usually fairly quick.)

A proposal: Migrate all MacOS tests to GitHub Actions. GitHub Actions will use MacOS Catalina (latest). Travis CI should only run on the master branch, to generate and upload nightly builds (Python wheels) with MacOS High Sierra.
Pros: We (developers) no longer get blocked waiting for test results.
Cons: Since the release is still using MacOS High Sierra, we may end up writing code that works in MacOS Catalina but fails in High Sierra. Hopefully this will be a rare occasion. We would need to monitor the test result of the master branch on Travis CI (MacOS High Sierra) and try to fix it if it breaks.

@trivialfis WDYT?

@trivialfis
Copy link
Member

@hcho3 I'm not sure about the ecosystem on osx. I will leave it to others to decide. ;-) @CodingCat seems also fond of osx.

@CodingCat
Copy link
Member

CodingCat commented Jul 23, 2020 via email

@hcho3 hcho3 closed this as completed Sep 8, 2020
@hcho3
Copy link
Collaborator Author

hcho3 commented Sep 8, 2020

Travis CI seems fine now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants