nvm icon indicating copy to clipboard operation
nvm copied to clipboard

[actions] : Test-Suite action workflow

Open sladyn98 opened this issue 4 years ago • 1 comments

Migrating the test-suite which is currently on travis to github actions.

Additional context: Build configuration for travis: https://travis-ci.com/github/nvm-sh/nvm/builds/220257244/config

sladyn98 avatar Mar 17 '21 15:03 sladyn98

To add more detail here:

nvm requires being able to compile node 0.4 through 19 (and later, as new versions are released), so it needs to be able to get multiple versions of python and gcc, and figuring out the exact OS requirements, and CPU architecture requirements, will be part of the work here.

You can see here: https://github.com/nvm-sh/nvm/blob/946da2e743a5a9040f18af667594ae609a11ac5f/.travis.yml that we run tests in all of 5 shells (bash, sh, dash, zsh, and ksh, although ksh is disabled for now), and for the installation ones, both with curl available and without curl (but with wget).

We also then run the matrix of test suites - fast, sourcing, slow, installation_iojs, installation_node (and we may need to shard these differently in the future).

Caching of nvm's cache dir, or node_modules, is not necessarily required, but should be explored to keep test runtimes manageable.

In the future (after we're migrated off of travis), we'll want to run the same test suite on Mac and Windows, so the action matrix should be written with that in mind.

This work will also close #1267, #1310, #2622.

ljharb avatar Mar 24 '23 18:03 ljharb