arthurnn / memcached

A Ruby interface to the libmemcached C client
Academic Free License v3.0
432 stars 127 forks source link

Fix tests and migrate to Github Actions #192

Closed dylanahsmith closed 3 years ago

dylanahsmith commented 3 years ago

@casperisfine for review

This is mostly a backport of https://github.com/arthurnn/memcached/pull/185, https://github.com/arthurnn/memcached/pull/186 and https://github.com/arthurnn/memcached/pull/190

The only other change is the expectation of FrozenError gets raised when trying to mutate a frozen object.

dylanahsmith commented 3 years ago

LGTM. But would be nice to test 2.6, 2.7 and ruby-head as well. It doesn't cost much.

The goal is to test this library, not ruby itself. Testing the earliest supported version ensures that we don't accidentally use features that were introduced later. Testing the latest ruby version helps catch the use of features that are deprecated or removed. Testing ruby-head or intermediate versions of ruby seems more like tests for ruby itself, unless we have version specific code.

Ideally, we would also test the earliest supported versions of other dependencies with the test for the earliest ruby version, but I wanted focus on fixing and migrating CI to start with.

casperisfine commented 3 years ago

Testing ruby-head or intermediate versions of ruby seems more like tests for ruby itself,

Sometimes you can hit subtle behavior difference that were introduced one version and reverted later. But whatever.