Skip to content

CI runs with oldest and latest supported versions of dependencies #670

@cameel

Description

@cameel

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    low impactChanges are not very noticeable or potential benefits are limited.medium effortDefault level of effortshould haveWe like the idea but it’s not important enough to be a part of the roadmap.testing 🔨

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions