-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
run all node.js tests on GHA #4459
Conversation
See #4460 for browser tests on GHA |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM except Node.js 10 and 12 disabled.
path: '${{ steps.npm-cache.outputs.dir }}' | ||
key: "${{ matrix.os }}-node-v${{ matrix.node }}-${{ hashFiles('**/package-lock.json') }}" | ||
restore-keys: | | ||
${{ matrix.os }}-node-v${{ matrix.node }}- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When I test cache on windows before, it took about 80s to download over 600MB cache files.
In this GHA, "Install Dependencies" took like below without cache. So, I worried about using cache takes more time.
Ubuntu
Run npm ci --ignore-scripts
added 2827 packages in 24.523s
Windows
Run npm ci --ignore-scripts
added 2827 packages in 65.224s
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll profile this and see if we should be caching or no
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
turns out windows has a cache of like 600MiB, and linux is 50MiB, so that's why.
I changed this to use the cache for linux but not windows.
24e1a18
to
d7642b8
Compare
Interesting. |
.github/workflows/mocha.yml
Outdated
${{ runner.os }}-growl-installer | ||
- name: Add Growl Installer to Path (Windows) | ||
if: "${{ matrix.os == 'windows-2019' }}" | ||
run: echo "C:\Program Files (x86)\Growl for Windows" >> $GITHUB_PATH |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was unable to get this working. Going to try this suggestion now
6129400
to
43487ce
Compare
This comment has been minimized.
This comment has been minimized.
09aa40f
to
d0202a6
Compare
- disables `node_modules` cache on windows cuz its slow - adds annotation support for Mocha tests (via https://npm.im/mocha-github-actions-reporter) and ESLint checks - `::add-path::` is deprecated, but the suggested migration does not work; see [ongoing discussion](https://github.jparrowsec.cnmunity/t/migration-from-deprecated-add-path-on-windows/136265) Signed-off-by: Christopher Hiller <[email protected]>
27d46b1
to
dac8d50
Compare
Signed-off-by: Christopher Hiller <[email protected]>
Signed-off-by: Christopher Hiller <[email protected]>
Signed-off-by: Christopher Hiller <[email protected]>
Still unable to get the new "environment file" working on Windows, so merging as-is. This PR adds inline annotations for Mocha tests and ESLint checks. This means that you'll see test and lint failures pinned to the relevant line numbers inline, in the diff on GitHub. Of note, the Mocha annotations arrive via https://github.com/daniellockyer/mocha-github-actions-reporter. This reporter is not added to our |
In #4402, @outsideris moved the build off of AppVeyor and onto GHA.
This PR moves Linux Node.js builds off of Travis-CI and on to GHA. They are run in the same matrix as the existing Windows builds. Included are the lint checks and coverage reporting to Coveralls.
I've consolidated a few of the existing jobs to reduce waiting / increase parallelization.
Remaining on Travis-CI are the browser tests, as I'm currently struggling to get SauceLabs tests running in GHA's env.