mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
ec8802bafe
Close gh-5330 - lint - npmcopy - build, minify, and process for distribution. - new custom build command using yargs - compare size of minified/gzip built files - pretest scripts, including qunit-fixture, babel transpilation, and npmcopy - node smoke tests - promises aplus tests - new watch task using nodemon, which runs `npm run build:all` on `src` changes. Also: - upgraded husky and added the new lint command - updated lint config to use new "flat" config format. See https://eslint.org/docs/latest/use/configure/configuration-files-new - Temporarily disabled one lint rule until flat config is supported by eslint-plugin-import. See https://github.com/import-js/eslint-plugin-import/issues/2556 - committed package-lock.json - updated all test scripts to use the new build - added an express test server that uses middleware-mockserver this can be used to run tests without karma - build-all-variants is now build:all - run pretest script in jenkins --------- Co-authored-by: Michał Gołębiowski-Owczarek <m.goleb@gmail.com>
63 lines
1.6 KiB
JavaScript
63 lines
1.6 KiB
JavaScript
"use strict";
|
|
|
|
module.exports = function( grunt ) {
|
|
grunt.registerTask( "testswarm", function( commit, configFile, projectName, browserSets,
|
|
timeout, testMode ) {
|
|
var jobName, config, tests,
|
|
testswarm = require( "testswarm" ),
|
|
runs = {},
|
|
done = this.async(),
|
|
pull = /PR-(\d+)/.exec( commit );
|
|
|
|
projectName = projectName || "jquery";
|
|
config = grunt.file.readJSON( configFile )[ projectName ];
|
|
browserSets = browserSets || config.browserSets;
|
|
if ( browserSets[ 0 ] === "[" ) {
|
|
|
|
// We got an array, parse it
|
|
browserSets = JSON.parse( browserSets );
|
|
}
|
|
timeout = timeout || 1000 * 60 * 15;
|
|
tests = grunt.config( [ this.name, "tests" ] );
|
|
|
|
if ( pull ) {
|
|
jobName = "Pull <a href='https://github.com/jquery/jquery/pull/" +
|
|
pull[ 1 ] + "'>#" + pull[ 1 ] + "</a>";
|
|
} else {
|
|
jobName = "Commit <a href='https://github.com/jquery/jquery/commit/" +
|
|
commit + "'>" + commit.substr( 0, 10 ) + "</a>";
|
|
}
|
|
|
|
if ( testMode === "basic" ) {
|
|
runs.basic = config.testUrl + commit + "/test/index.html?module=basic";
|
|
} else {
|
|
tests.forEach( function( test ) {
|
|
runs[ test ] = config.testUrl + commit + "/test/index.html?module=" + test;
|
|
} );
|
|
}
|
|
|
|
testswarm.createClient( {
|
|
url: config.swarmUrl
|
|
} )
|
|
.addReporter( testswarm.reporters.cli )
|
|
.auth( {
|
|
id: config.authUsername,
|
|
token: config.authToken
|
|
} )
|
|
.addjob(
|
|
{
|
|
name: jobName,
|
|
runs: runs,
|
|
runMax: config.runMax,
|
|
browserSets: browserSets,
|
|
timeout: timeout
|
|
}, function( err, passed ) {
|
|
if ( err ) {
|
|
grunt.log.error( err );
|
|
}
|
|
done( passed );
|
|
}
|
|
);
|
|
} );
|
|
};
|