-
Notifications
You must be signed in to change notification settings - Fork 20.6k
Build: Migrate CI to GitHub Actions #4800
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
Conversation
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.
Wow, this is so awesome, thanks a lot! We planned to migrate from Travis to GitHub Actions for quite some time.
I'll have a closer look this week.
The next step that we planned (to be done later) was to start testing on real browsers on GitHub Actions using our BrowserStack account, phasing out our TestSwarm usage. I was thinking about making it easy to restart runs only in some browsers if they're flaky. One advantage of TestSwarm is we're able to restart a test run of any module in any browser and leave the rest intact; it'd be great to have something like that here.
It'd also be great to have a pipeline graph view, where we're doing the full build only once and then split that to browser testing for each browser. Something like what Blue Ocean provides for Jenkins.
If you have any thoughts on the above that, I'm all ears.
In any case, thanks again for making a very important first step. 👏
Hi, mgol I'm considering switch to Browerstack in other PR and keep this PR simply using Github Actions. |
Yes, definitely! |
One thing that makes me worry a bit is missing support for re-running a single job. This is key to us; as we start testing on browsers, we need to be able to only re-run what failed instead of everything which creates a risk of yet another failure. See this thread: https://github.community/t/ability-to-rerun-just-a-single-job-in-a-workflow/17234 |
This feature missing makes me think we might want to try CircleCI with its visual workflows instead: https://circleci.com/docs/2.0/workflows/ |
Currently, gh-action is becoming more and more popular, the community should have plans to provide this feature . In fact, jQuery build time is not long, maybe switching to gh-action is a good choice, what do you think? |
As far as I known, we can get BrowserStack's report by karma. So we can parse the report to get the failed browsers and rerun the failed browsers in the karma service. Do you think I understand correctly?
gh-action has planned this feature in Q4 milestones. |
@ygj6 I have no idea how that would work and, if anything, it would be hacky. We need a native way to re-run a single job and we consider that to be a blocker for adopting any CI system. |
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.
Marking as "Request changes" until our concerns with GitHub Actions are resolved.
Closing & re-opening the PR to trigger the EasyCLA check... |
365ffee
to
40f372e
Compare
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.
Two things have happened since my last review:
- GitHub Actions added support for re-running just the failed workflows.
- We lost access to Travis 😢
so I decided to look again at this PR, rebased it & tweaked very slightly and it looks like it works!
Thanks a lot for the PR!
Closes jquerygh-4800 (cherry picked from commit e23190e)
Summary
Migrate CI to Github Action.
Add
node.js.yaml
to support github action.Modify
Gruntfile.js
to support running travis and github actions at the same time.Checklist