thoughtbot / appraisal

A Ruby library for testing your library against different versions of dependencies.
https://thoughtbot.com
MIT License
1.25k stars 107 forks source link

Migrate to GitHub Actions #206

Open petergoldstein opened 1 year ago

petergoldstein commented 1 year ago

As Travis CI.org has been inactive since mid-2021, appraisal has not had CI for quite some time. This PR is an attempt to migrate CI to GitHub actions.

It is not green, and I'm looking for help on getting it there. The current failures are all bundler install issues. Is anyone more familiar with the internals of the appraisal gem able to give me some guidance on how to get the bundle install --local in the various specs to pass? Do we need to set an environment variable? Or is this unrelated to current work?

nickcharlton commented 1 year ago

Thanks!

I've got a branch I've been working on that I'd mentioned in #204 that I've been looking at over the last week or so: https://github.com/thoughtbot/appraisal/actions/workflows/main.yml

Have you been getting the same failures?

petergoldstein commented 1 year ago

@nickcharlton I hadn't seen your branch. I'm getting similar, but not exactly the same failures. And unlike you, I don't have any jobs running green. I'm running everything on the most recent bundler that the underlying Ruby supports.

Based on what I'm seeing on your branch (specifically the passing 3.0 and 3.1), I think that some of the deprecation issues are coming into play with bundler 2.4.x. Specifically these:

DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local path 'vendor/another'`, and stop using this flag
[DEPRECATED] The `--without` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local without 'drinks'`, and stop using this flag

I think the code in lib/appraisal/appraisal.rb needs to be updated to use the config approach to get recent bundlers to pass. This may also require an additional reset in the test code - I haven't looked yet.

If I get some time that's the approach I'm going to take next.

nickcharlton commented 11 months ago

I just rebased it to see if I could get the tests to run here as me, but apparently not :( which eventually seems to be running.

pboling commented 2 months ago

I was able to get Appraisal & Combustion working on a massive test matrix (Ruby 2.3 - 3.3, Rails 3.0 - 7.1, bundler 1 - 2) here: https://github.com/pboling/sanitize_email/commit/a9c1d9a11732b57e1b898e74516bbff36724ff97

It might be helpful.