-
Notifications
You must be signed in to change notification settings - Fork 212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make XS CI optional #2647
Comments
@michaelfig pointed out that we're running |
Running `yarn test` from the top level causes `yarn test` to be run in each workspace. Previously, in some packages (zoe and ERTP in particular), the local `yarn test` expanded into doing both `test:node` and `test:xs`. This introduces a new top-level `yarn test:xs` target, which runs `yarn test:xs` in each workspace. Zoe and ERTP's local `yarn test` was changed to only run the node tests. Zoe and ERTP 's local `yarn test:xs` runs the unit tests under XS. All other packages have a no-op `exit 0` in their `test:xs` target, so the top-level target doesn't crash when it encounters a package that doesn't have any XS-specific testing (which is most of them). With this change, CI will stop testing XS on each run. We'll follow up with a separate change that tells CI to do a top-level `yarn test:xs`, probably with a flag that makes the success optional (don't flunk a PR if it fails the XS tests, for now). refs #2647
Running `yarn test` from the top level causes `yarn test` to be run in each workspace. Previously, in some packages (zoe and ERTP in particular), the local `yarn test` expanded into doing both `test:node` and `test:xs`. This introduces a new top-level `yarn test:xs` target, which runs `yarn test:xs` in each workspace. Zoe and ERTP's local `yarn test` was changed to only run the node tests. Zoe and ERTP 's local `yarn test:xs` runs the unit tests under XS. All other packages have a no-op `exit 0` in their `test:xs` target, so the top-level target doesn't crash when it encounters a package that doesn't have any XS-specific testing (which is most of them). With this change, CI will stop testing XS on each run. We'll follow up with a separate change that tells CI to do a top-level `yarn test:xs`, probably with a flag that makes the success optional (don't flunk a PR if it fails the XS tests, for now). refs #2647
That's probably a bug, the amount of Node.js code running under |
The amount of Node.js code that runs under `test:xs` is minimal and not very interesting, so save time by only running test:xs under node-14.x . closes #2647
The amount of Node.js code that runs under `test:xs` is minimal and not very interesting, so save time by only running test:xs under node-14.x . closes #2647
What is the Problem Being Solved?
We're seeing some strange test failures (involving GC and
WeakMap
) when certain unit tests (especially Zoe) are run under XS. These are serious problems but not a direct consequence of the Zoe changes being made, so they probably shouldn't hold up landing the Zoe PRs.We decided to make the XS CI optional, so failures in it are reported, but won't prevent a PR from landing.
Description of the Design
Currently our top-level
yarn test
expands to ayarn workspaces test
, which runsyarn test
in each package in turn. Then, within several packages (ERTP
andzoe
), theyarn test
target expands toyarn test:node && yarn test:xs
.I think we need to rotate that: add a top-level
yarn test:xs
target, which expands toyarn workspaces test:xs
. We'll add a"test:xs": "exit 0"
to all of the other packages. And then we'll revert the ERTP/zoeyarn test:node && yarn test:xs
bit.Finally, we'll modify
.github/workflows/test-all-packages.yml
to introduce a new job (withcontinue-on-error: true
to make it not flunk PRs). This job will runyarn test:xs
at the top level.The text was updated successfully, but these errors were encountered: