tycooon / memery

A gem for memoization in Ruby
MIT License
177 stars 13 forks source link

Replace Travis with another CI tool #28

Closed tycooon closed 3 years ago

tycooon commented 4 years ago

See discussion and checks status in #26. Maybe we can use GitHub Actions? @AlexWayfer what do you think?

AlexWayfer commented 4 years ago

Maybe we can use GitHub Actions? @AlexWayfer what do you think?

Of course we can. As you wish.

An example (not perfect) of these CIs for Ruby gem you can see there: https://github.com/AlexWayfer/flame-flash/pull/33

Not perfect because Cirrus CI config has populate_script for cache, and it causes problems with non-cached Gemfile.lock, but we resolved it via replacing populate_script with before_script: https://github.com/cirruslabs/cirrus-ci-docs/issues/560#issuecomment-590573881

Pros of Cirrus CI for me:

Pros of GitHub Actions for me:

I know a few popular Ruby gem repositories with GitHub Actions, like Puma and Dry, but their configs looks huge and ugly for me (https://github.com/puma/puma/blob/0b737cc/.github/workflows/ruby.yml).

tycooon commented 4 years ago

Well, I think one of the pros for GitHub Actions is that it is not external service so it's more future proof and less likely to "die" or become slow or deprecated like Travis did.

AlexWayfer commented 4 years ago

Well, I think one of the pros for GitHub Actions is that it is not external service so it's more future proof and less likely to "die" or become slow or deprecated like Travis did.

Hm, maybe. It's a feature, we don't know it. And I know how Google closed its services, even related and integrated (Plus, Hangouts, YouTube Chat, etc.)

But I can agree. But for me it's not too hard to switch from one CI tool to another (once when something deprecated or died or another becomes better).

Anyway, as you wish. Maybe I'll understand and like GitHub Actions later. For now I even don't know how to define an order of jobs, like "let's lint and if successful then test". Cache was added after release, but at least it was.

JelF commented 4 years ago

I can suggest gitlab-ci

AlexWayfer commented 4 years ago

I can suggest gitlab-ci

It's pretty good, but slower than Cirrus CI.

GitLab CI: https://gitlab.com/AlexWayfer/flame-flash/-/jobs/447196393 (1 minute)

Cirrus CI: https://cirrus-ci.com/task/6456099616325632 (15 seconds)

JelF commented 4 years ago

Wow, it's really fast. Thanks

However, I should notice that gitlab-ci spent most of time while pulling 2.6 image.

tycooon commented 3 years ago

Switched to GitHub Actions in cf547e5794b068aae9f0c95df4b6398a4d0fb6ab.