-
-
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
ci(win): setup GH actions for windows CI #4402
Conversation
Signed-off-by: Outsider <[email protected]>
Signed-off-by: Outsider <[email protected]>
Signed-off-by: Outsider <[email protected]>
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 added smoke tests and linting on Windows
Whats the value in adding these on Windows? Just thinking that it adds time and expense. Wondering if we have Windows users who get passing CI builds only to fail on release.
Any idea if there is a performance difference against AppVeyor?
That's great that we should get it free for now, what does AppVeyor cost currently (as that's a saving)?
|
||
## Build configuration | ||
platform: | ||
- x64 |
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.
64-bit, so I'd assume windows server 2019 is enough by itself, but not sure.
## General configuration | ||
version: '{build}' | ||
skip_commits: | ||
message: /\[ci\s+skip\]/ |
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.
Can the action skip too?
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 will check it.
The purpose of smoke tests is to confirm that mocha will work when we release it. So, I thought it is better if we run smoke tests on Windows as well. Linting is less useful than smoke tests. I'm not sure that failure to lint on windows while lint passed on Linux is possible. Just I want to check it for our windows contributors. I can remove them from it if we agree it is useless.
AppVeyor took about 22 mins and GitHub Actions took about 12 mins even though GitHub Actions have more tasks. |
🤩 🚀
I suppose with perf high and cost low its worth it. Linting I agree probably not necessary. |
2bdfe59
to
c7a7d5f
Compare
My only requirement is that it runs on Windows 10 and PowerShell. It should not be WSL or "Git Bash" or whatever. If that's the case then I am 100000000% interested in merging this. 🥳 |
2faa859
to
c7a7d5f
Compare
I'm trying to add a feature that skip CI with I will back after some test for that. |
@boneskull I'm not familiar with Windows as development environment.
|
Signed-off-by: Outsider <[email protected]>
Signed-off-by: Outsider <[email protected]>
Done. Now, it will be skipped with
And I removed lint job from Windows CI. |
I really like this addition. I just double checked out settings. Looks like we have 3000 minutes per month, apparently from a free open source team plan which must have been set up at some point. We can also limit spending to $0 if we are afraid of running up a bill at some point. That would require someone to put down a credit card though, and I assume we don't have a cards associated with our opencollective profile, so it's probably an individual that needs to do this |
I can put my feelers out and see if we can get more minutes if we start running into the limit. |
sounds good @outsideris. travis has windows builds but they aren't powershell envs afaik. would be interested in moving everything to GHA eventually |
Signed-off-by: Outsider <[email protected]>
396216d
to
074e849
Compare
Signed-off-by: Outsider <[email protected]>
074e849
to
3d9b919
Compare
restore-keys: | | ||
${{ runner.os }}-growl-installer | ||
- name: Download Growl Installer | ||
if: steps.cache-growl.outputs.cache-hit != 'true' |
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.
echo "Verifying Growl responding" | ||
Start-Sleep -s 5 | ||
growlnotify test | ||
echo "Staring test" |
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.
Start and verify growl before running the test because GH actions don't keep growl process previous steps.
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 added Growl installer and cache it which mentioned #4391 |
It is ready to merge. |
I will merge this in a few days. |
Great work on this! Do good to have both speed increases and better access for everyone to see the results |
Description of the Change
Replace AppVeyor with GitHub Actions for testing on Windows.
Because windows builds were failed on AppVeyor, I believe it is the platform issue, not ours, and AppVeyor introduced new Node versions sometimes, I set GitHub Actions for Windows CI.
You can see build results on my repository.
I tested actions/cache, but it spent more time than without cache since downloading cache files.
Benefits
We can have robust windows build results than before.
Possible Drawbacks
Applicable issues
#4117
Close #4390
I want to hear feedback from @mochajs/core .