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 Travis CI by May 31, 2021 #740

Open
junaruga opened this issue May 8, 2021 · 12 comments
Open

Migrate Travis CI by May 31, 2021 #740

junaruga opened this issue May 8, 2021 · 12 comments

Comments

@junaruga
Copy link
Contributor

junaruga commented May 8, 2021

Hi. I see this repository uses travis-ci.org.

Travis CI announced 2 days ago that Travis-ci.org shut down will occur on May 31, 2021.
https://blog.travis-ci.com/2021-05-07-orgshutdown

We need to migrate travis-ci.org to travis-ci.com, otherwise maybe we can not continue to use it. You can do it from this repository's Setting page.

AMD64 is not free on travis-ci.com. You will be given the credits initially. AMD64 consumes the credits.
https://docs.travis-ci.com/user/billing-overview/#usage---credits

Fortunately non-AMD64 (arch: arm64, arch: ppc64le, arch: s390x) is still free for open source repository.

A migration path I can recommend is

  1. Migrate AMD64 cases to GitHub Actions.
  2. Remove AMD64 cases on Travis, because it consumes credits. Then migrate travis-ci.org to tarvis-ci.com. You can migrate it on the setting page.
  3. Use non-AMD64 (arm64) cases on travis-ci.com.

Here is an example of travis-ci.com credits page. You can check a history of builds with consumed credits.
https://travis-ci.community/t/free-oss-credits-usage-calculation/10832/4

Here is an example of GitHub Actions I know as a reference.
https://github.com/brianmario/mysql2/blob/master/.github/workflows/build.yml
https://github.com/ruby/ruby/tree/master/.github/workflows

@junaruga junaruga changed the title Migrating Travis CI by May 31, 2021 Migrate Travis CI by May 31, 2021 May 8, 2021
@lh3
Copy link
Owner

lh3 commented May 10, 2021

Added a barebone config file for github action. Need to support Python and ARM as well. Will figure that out later.

@lh3
Copy link
Owner

lh3 commented May 10, 2021

BTW, I would like to replace Travis with GitHub actions. Don't want to deal with two CIs.

CC @jmarshall: I just copied your ci.yaml in bwa to here for minimal CI functionality.

@junaruga
Copy link
Contributor Author

junaruga commented May 10, 2021

I am not sure if we can run ARM on GitHub Actions CI hosting service. I know GitHub Actions self runner that is to install and run GitHub Actions on your own server, supporting ARM. But maybe I think you do not want to do it.

@lh3
Copy link
Owner

lh3 commented May 10, 2021

Ah, this is more complicated than I thought. Need to read and think more...

@jmarshall
Copy link
Contributor

Python/Cython is reasonably easy — have a look at my draft for pysam. Perhaps set up your Cython test build as a separate job from the C compilation ones.

But what to do for the more exotic architectures is a harder question…

@junaruga
Copy link
Contributor Author

Just in case, I would share my repository I used to test .travis.yml with travis-ci.com with only free options.
https://github.com/junaruga/ci-multi-arch-native-test

@jmarshall
Copy link
Contributor

Me, I don't see a reason to continue to trust the Travis company. So to the extent that the non-x86 parts of the existing .travis.yml can be moved to .com and work as-is for a while, that's fine; but I wouldn't expend any further effort on building anything travis-dependent.

@junaruga
Copy link
Contributor Author

junaruga commented May 10, 2021

@jmarshall That's okay. I think the current trend of dropping free plans on CI is coming from crypto miners using the free CI to gain the profits by running their programs on CI. It costs CI companies. It's not only Travis CI. Travis is not a big company unlike GitHub or Microsoft. I think Travis had to make a tough decision. To change the situation, we need to change the way for the miners to gain the profit, the incentivized system. There is a hope to change the situation, because some stakeholders recognize this.

https://layerci.com/blog/crypto-miners-are-killing-free-ci/
https://twitter.com/kernelcdub/status/1387192396732055567

Travis' way to communicate with users was not really the best. I think they could be more transparent. The free unlimited builds for non-AMD was also published to their official document last week. I do not think the situation will change soon. The reason is because Travis CI is sponsored for the non-AMD resources by IBM and ARM.
travis-ci/docs-travis-ci-com@3507d8b

I have discussed Travis support to make it possible until last week.
https://bugs.ruby-lang.org/issues/17818

@jmarshall
Copy link
Contributor

jmarshall commented May 10, 2021

[This is increasingly off-topic for minimap2.]

IMHO the writing was on the wall for Travis CI GMBH two years ago. More recent events have only confirmed this assessment, sadly.

@junaruga
Copy link
Contributor Author

[Sorry for the off topic that not related to the minimap2.]
Thanks for the articles. Yeah, Travis was acquired.

@hasindu2008
Copy link
Contributor

I recently had to do this travis to GitHub action conversion for (f5c)[https://github.com/hasindu2008/f5c/]. With that experience, I added simple ARM and Python tests to the GitHub actions files on minimap2 [see pull request https://github.com//pull/741] which I hope would be helpful to expand upon :).

@junaruga
Copy link
Contributor Author

junaruga commented May 11, 2021

@hasindu2008 Thanks for the PR, if this project accepts the way to use QEMU and Docker, it is a possible way. The tool multiarch/qemu-user-static used in the PR is what I had worked on a little bit at the project. I think the project multiarch/qemu-user-static is the great origin of this way.

Now it seems there are some derived alternatives too. I have not used docker/* ones yet.

https://github.com/dbhi/qus
https://github.com/docker/setup-qemu-action
https://github.com/docker/setup-buildx-action

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

No branches or pull requests

4 participants