This repository was archived by the owner on Feb 16, 2021. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Automate canary testing changes with downstream packagesΒ #7
Copy link
Copy link
Closed
Labels
π area/externalThis makes more sense somewhere elseThis makes more sense somewhere elseπ¦ type/enhancementThis is great to haveThis is great to have
Description
Subject of the feature
Automate canary testing changes with downstream packages
Prior art: https://github.com/nodejs/citgm
Problem
Unified is a large and highly connected community of packages.
Changes to any package could have impact downstream packages.
Currently anticipating impact is a purely manual process.
It could be helpful to use downstream packages, which themselves have comprehensive test suites, to help automatically detect what changes may be breaking or have unintended impacts.
Expected behaviour
The flow could work something like:
- add a dependency on the new downstream testing tool
- a package adds a json config file with:
- a description of the build process for the package
- a listing of trusted downstream packages with unit tests
- add an npm test script that calls the downstream testing package
From then on, for each run of the continuous integration process the downstream testing tool would
- build the package using the instructions from the configuration
- download each downstream package listed in the configuration
- for each package downloaded
- setup that package (npm install)
- link the build of the package being updated, into the downstream package's dependencies
- run the test suite of the downstream package
- report results
Alternatives
- manual testing (which is needed anyway)
- Find an existing tool like https://github.com/nodejs/citgm but for node modules
Metadata
Metadata
Assignees
Labels
π area/externalThis makes more sense somewhere elseThis makes more sense somewhere elseπ¦ type/enhancementThis is great to haveThis is great to have