Skip to content
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

Build: Migrate CI to GitHub Actions #4800

Merged
merged 1 commit into from
Nov 30, 2021
Merged

Build: Migrate CI to GitHub Actions #4800

merged 1 commit into from
Nov 30, 2021

Conversation

ygj6
Copy link
Contributor

@ygj6 ygj6 commented Oct 20, 2020

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

Copy link
Member

@mgol mgol left a 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. 👏

.github/workflows/node.js.yml Outdated Show resolved Hide resolved
@mgol mgol added this to the 3.6.0 milestone Oct 20, 2020
@mgol mgol self-assigned this Oct 20, 2020
@ygj6
Copy link
Contributor Author

ygj6 commented Oct 20, 2020

Hi, mgol
Thanks for your review.

I'm considering switch to Browerstack in other PR and keep this PR simply using Github Actions.
Is it Ok for you?

@mgol
Copy link
Member

mgol commented Oct 20, 2020

I'm considering switch to Browerstack in other PR and keep this PR simply using Github Actions.
Is it Ok for you?

Yes, definitely!

@mgol mgol added the Discuss in Meeting Reserved for Issues and PRs that anyone would like to discuss in the weekly meeting. label Oct 26, 2020
@mgol
Copy link
Member

mgol commented Oct 26, 2020

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

@mgol
Copy link
Member

mgol commented Oct 26, 2020

This feature missing makes me think we might want to try CircleCI with its visual workflows instead: https://circleci.com/docs/2.0/workflows/

@ygj6
Copy link
Contributor Author

ygj6 commented Oct 27, 2020

One thing that makes me worry a bit is missing support for re-running a single job.

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?

@ygj6
Copy link
Contributor Author

ygj6 commented Oct 31, 2020

I was thinking about making it easy to restart runs only in some browsers if they're flaky

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?

Something like what Blue Ocean provides for Jenkins.

gh-action has planned this feature in Q4 milestones.

@timmywil timmywil removed the Discuss in Meeting Reserved for Issues and PRs that anyone would like to discuss in the weekly meeting. label Nov 16, 2020
@mgol
Copy link
Member

mgol commented Dec 1, 2020

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.

@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.

@mgol mgol removed the Needs review label Dec 1, 2020
Copy link
Member

@mgol mgol left a 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.

@mgol mgol removed this from the 3.6.0 milestone Dec 1, 2020
Base automatically changed from master to main February 1, 2021 22:02
@Krinkle Krinkle changed the title Build:Migrate CI to Github Action Build Migrate CI to Github Actions Mar 26, 2021
@Krinkle Krinkle changed the title Build Migrate CI to Github Actions Build: Migrate CI to GitHub Actions Mar 26, 2021
@mgol
Copy link
Member

mgol commented Sep 17, 2021

Closing & re-opening the PR to trigger the EasyCLA check...

@mgol mgol closed this Sep 17, 2021
@mgol mgol reopened this Sep 17, 2021
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Sep 17, 2021

CLA Signed

The committers are authorized under a signed CLA.

@mgol mgol force-pushed the ci-gha branch 3 times, most recently from 365ffee to 40f372e Compare November 30, 2021 22:48
@mgol mgol added this to the 3.6.1 milestone Nov 30, 2021
Copy link
Member

@mgol mgol left a 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:

  1. GitHub Actions added support for re-running just the failed workflows.
  2. 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!

@mgol mgol merged commit e23190e into jquery:main Nov 30, 2021
mgol pushed a commit to mgol/jquery that referenced this pull request Nov 30, 2021
@mgol
Copy link
Member

mgol commented Nov 30, 2021

Landed on main in e23190e and on 3.x-stable in b39cfa1.

@mgol mgol mentioned this pull request Dec 6, 2021
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

None yet

4 participants