Run browser tests in headless Chrome; replace Travis and AppVeyor with GitHub Actions #5298
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR changes the
cake test:browsercommand to run a local version of the browser-based tests (https://coffeescript.org/test.html) in a headless Chrome browser. The previoustest:browserbehavior is moved totest:browser:node.I was previously doing this manually as part of every release, but that’s both error-prone and problematic when we do discover issues, as happened in #5284. Since this can now run as part of CI, we should know at the time of PR (rather than release) whether a new PR breaks the browser compiler or browser tests.
There’s one other benefit: This tests the ES module version of the browser compiler, which the previous Node-based test did not. Previously we had no automated test coverage of the ES module version of our compiler.
As part of this PR, I moved our CI testing to use GitHub Actions instead of Travis and AppVeyor, because I needed to vary the commands for Node 6 and Node 8 and that didn't seem possible in Travis and seemed complicated in AppVeyor. Now CI is all in one place, and we have the additional benefit of testing not just Linux and Windows but Mac as well.