solc-js icon indicating copy to clipboard operation
solc-js copied to clipboard

CI runs with oldest and latest supported versions of dependencies

Open cameel opened this issue 1 year ago • 0 comments

As a library, we are committed to supporting whole ranges of dependency versions to give the apps that use solc-js the most flexibility. However, we only really test with a single set of versions versions right now. I think that we should be running the test suite with multiple sets of versions. Doing oldest and latest seems the most reasonable.

The task here is to add variants of node-base job that install those different sets of dependencies. Best if npm or yarn can do that automatically, but if not, we can force that by replacing ^ with = in package.json (with some special care for cases that specify multiple valid versions).

Note that we currently use caching for dependencies and the key is based on package.json (rather than package-lock.json, which is not versioned). This means we're not always using latest versions, but rather the ones that were the latest last time package.json was updated: https://github.com/ethereum/solc-js/blob/a3b7b9ef1c1286174dada85811755260cf0d9bda/.circleci/config.yml#L171-L172

For the test runs added as a part of this task, we'll have to disable this caching.

cameel avatar Oct 06 '22 12:10 cameel