brick / math

Arbitrary-precision arithmetic library for PHP
MIT License
1.78k stars 75 forks source link

GitHub CI instead of Travis #45

Closed alexeyshockov closed 3 years ago

alexeyshockov commented 4 years ago

@BenMorel, what do you think about possibility of this move?

GitHub CI integrates nice into the process, you can see checks success/failure more granularly, and also it's a possibility to report errors back directly to a PR, as a comments (like CS errors, Psalm errors, etc.).

The only issue I'm seeing currently is that the build takes a lot of time, and GitHub has limited time a project. It's 2000 minutes/month currently, so if a build takes about 10 minutes... We have kinda 200 build per month, that should be enough, considering commits/PR rate to this repo.

Another option is to switch partially, like move all the quick checks (code style, Psalm, etc.) to GitHub CI, and leave heavy unit tests in Travis. But I think it's better to keep this as the last option.

alexeyshockov commented 3 years ago

Also a question to discuss, @BenMorel :) Partially related to other discussions about CI tools that we are doing already.

BenMorel commented 3 years ago

@alexeyshockov I haven't had the time to look into the matter, however at first glance I'm failing to see the real advantage to make the switch: Travis CI works quite well, and I have never run into any kind of time limitation, I'm not even sure there is one in the free version. So this is obviously a plus for Travis.

Do you have a link to another repo integrated with GitHub CI (is it what they call Actions, by the way?) where I could see the benefit of a better integration?

BenMorel commented 3 years ago

I've changed my mind, given that:

This has been taken care of in 8fded77a8015236202cecd492d938f50d45a58e0.

The only thing I've not been able to integrate with GitHub Actions is the smoke check. Do you know if this is possible, @alexeyshockov?

BenMorel commented 3 years ago

It is possible, using another job and adding needs: to the main job: c2ed5a6551acd0caad7c328ef2ba86935ec17aff.

I've decided to revert to not using smoke tests, though, as I discovered that by default, GitHub Actions uses a fail-fast strategy, where pending jobs are cancelled if any job fails. This is good enough for us.

Move to GitHub Actions: done ✔️ !