-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Add jQuery 1.12/2.2 to the test configuration + minor updates #1706
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
We have the ability to test locally, but we don't test against 2.x in CI. This was done so long ago, I honestly don't remember the reasoning. I can't think of any problems with adding it, we'll just need to use different browser sets.
Re: all 4 patch releases; we'll probably never test against only the latest patch version because that's just not how developers actually work. Re: 2.1.x; As I said above, I'm ok with adding this now. |
I'm not sure what you're asking. Are you asking why we have all the 1.x versions? It's because we support them. Are you asking why they're in |
| "commitplease": "2.3.0", | ||
| "grunt": "0.4.5", | ||
| "grunt-bowercopy": "1.2.4", | ||
| "grunt-cli": "0.1.13", |
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'm not really a fan of this change. It breaks the standard usage of Grunt.
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.
How does it break it? You can still use the global grunt-cli if you wish so. OTH:
- In development all the dependencies are fixed so the possibility of a breakage is decreased.
- npm scripts can use the
gruntbinary without any global installation. - People that don't like global packages may not use them here. Without including
grunt-cliit's simply not possible as thegruntpackage doesn't contain any binary to run.
Most of the projects I contribute to include grunt-cli in devDependencies for these reasons. I often don't even have grunt-cli installed globally until I encounter a project that doesn't include this.
It seems to me that including it as a dependency doesn't break the usage for people that don't want to rely on it but not including it breaks the usage for others.
Even the grunt-cli README mentions this pattern so I don't understand your comment.
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.
Ok, let's leave this change.
I see. From what I remember the browser set used for testing was hardcoded in the UI repo but now different jobs can use different browser sets (I did it so that UI could be tested against jQuery 3.0.0 WIP) so this can be done. I can update this PR & create proper Jenkins jobs or 2.0, 2.1 & 2.2.
No, I'm asking about this entry in bower.json and this in the |
Sounds good.
As I said, we don't use |
|
Oh, sorry. Let me explain the 1.x entry. We need a single reference to jQuery for use in demos. To do that, we use 1.x and copy it to a file that doesn't have a version. This allows us to not have to update a ton of references when we change the latest version we're testing against. |
|
@scottgonzalez Thanks for the explanation! |
bower.json
Outdated
| "jquery-1.12.2": "jquery#1.12.2", | ||
| "jquery-1.12.3": "jquery#1.12.3", | ||
| "jquery-1.12.4": "jquery#1.12.4", | ||
| "jquery-1.x": "jquery#1.11.3", |
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.
Thanks for pointing this out in your comment (and sorry for taking so long to understand what you were asking). This should be updated to point to 1.12.4; it always tracks the latest 1.x version, and then it gets used in demos and some other places.
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.
Changed. I also changed it at
jquery-ui/tests/lib/bootstrap.js
Line 99 in fbc79e1
| url = "../../../external/jquery-" + ( version || "1.11.3" ) + "/jquery"; |
This makes it possible to use Grunt without installing grunt-cli globally which makes the whole process more resilient.
|
PR updated. |
|
This looks good. Is this ready to be merged or do you still need to make changes in Jenkins first? |
I've just created the Jenkins jobs for 1.12, 2.0, 2.1 & 2.2. I also added another commit to this PR that makes only Core 1.x jobs to be tested on IE 8, PTAL. If this looks fine, feel free to merge. I'll then check if I configured the Jenkins jobs correctly. |
This makes it possible to use Grunt without installing grunt-cli globally which makes the whole process more resilient. Ref gh-1706
|
Merged. |
|
I've triggered the jobs manually and they seem to be running correctly:
A couple of tests are consistently failing with 2.0.0-2.0.3 in all browsers. |
jQuery 2.0.3 fixed very few things from 2.0.2, the list is here: http://blog.jquery.com/2013/07/03/jquery-1-10-2-and-2-0-3-released/ One of the fixes was http://bugs.jquery.com/ticket/13980, though which was about cross-domain iframe issues. The problem is TestSwarm loads a cross-domain iframe: the main page is swarm.jquery.org, the frame is on builds.jenkins.jquery.com so it might be causing issues. You can see jQuery UI tests are timing out in all IE versions in jQuery 2.0.2: http://swarm.jquery.org/job/2918 The problem is that it doesn't just fail, it starves the available IE pool, making it sometimes harder for other projects to get their tests run on IE. That's why tests with jQuery 2.0.2 on TestSwarm need to be removed as it's been done with 1.10.1. Refs #12745 Refs c2224bf Refs jquerygh-1706
|
OK, Core 2.0.2 is completely unusable on TestSwarm, it drains the available IE pool & needs to be removed as 1.10.1 has for the same reason. See PR #1707 for more details. |
jQuery 2.0.3 fixed very few things from 2.0.2, the list is here: http://blog.jquery.com/2013/07/03/jquery-1-10-2-and-2-0-3-released/ One of the fixes was http://bugs.jquery.com/ticket/13980, though which was about cross-domain iframe issues. The problem is TestSwarm loads a cross-domain iframe: the main page is swarm.jquery.org, the frame is on builds.jenkins.jquery.com so it might be causing issues. You can see jQuery UI tests are timing out in all IE versions in jQuery 2.0.2: http://swarm.jquery.org/job/2918 The problem is that it doesn't just fail, it starves the available IE pool, making it sometimes harder for other projects to get their tests run on IE. That's why tests with jQuery 2.0.2 on TestSwarm need to be removed as it's been done with 1.10.1. Refs #12745 Refs c2224bf Refs gh-1706 Closes gh-1707
I've noticed jQuery 1.12/2.2 are not currently tested; I added proper config. Once this lands I can create a new Jenkins job for UI + Core 1.12.
I have a few questions:
jquery-1.xentry in bower.json & in theexternaldirectory?I've also added a few improvements to build-related stuff in the followup commits.