Skip to content

Commit 5fadeaf

Browse files
committed
CDN: Confirm before push
Fixes gh-24
1 parent 1ff5952 commit 5fadeaf

File tree

2 files changed

+33
-18
lines changed

2 files changed

+33
-18
lines changed

lib/cdn.js

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,34 @@
1-
var shell = require( "shelljs" );
1+
var shell = require( "shelljs" ),
2+
fs = require( "fs" );
23

34
module.exports = function( Release ) {
45
var realRemote = "git@github.com:jquery/codeorigin.jquery.com.git",
56
testRemote = "git@github.com:jquery/fake-cdn.git";
67

8+
function projectCdn() {
9+
var jqueryCdn = Release._cloneCdnRepo() + "/cdn";
10+
if ( Release.project === "jquery" ) {
11+
return jqueryCdn;
12+
}
13+
if ( Release.project === "qunit" ) {
14+
return jqueryCdn + "/qunit";
15+
}
16+
if ( /^jquery-/.test( Release.project ) ) {
17+
return jqueryCdn + "/" + Release.project.substring( 7 ) +
18+
"/" + Release.newVersion;
19+
}
20+
return jqueryCdn + "/" + Release.project + "/" + Release.newVersion;
21+
}
22+
723
Release.define({
824
_cloneCdnRepo: function() {
925
var local = Release.dir.base + "/codeorigin.jquery.com",
1026
remote = Release.isTest ? testRemote : realRemote;
1127

28+
if ( fs.existsSync( local ) ) {
29+
return local;
30+
}
31+
1232
console.log( "Cloning " + remote.cyan + "..." );
1333
Release.chdir( Release.dir.base );
1434
Release.git( "clone " + remote + " " + local, "Error cloning CDN repo." );
@@ -17,31 +37,24 @@ module.exports = function( Release ) {
1737
return local;
1838
},
1939

20-
_pushToCdn: function() {
21-
var projectCdn,
22-
jqueryCdn = Release._cloneCdnRepo() + "/cdn",
40+
_copyCdnArtifacts: function() {
41+
var targetCdn = projectCdn(),
2342
releaseCdn = Release.dir.repo + "/dist/cdn",
2443
commitMessage = Release.project + ": Added version " + Release.newVersion;
2544

26-
if ( Release.project === "jquery" ) {
27-
projectCdn = jqueryCdn;
28-
} else if ( Release.project === "qunit" ) {
29-
projectCdn = jqueryCdn + "/qunit";
30-
} else if ( /^jquery-/.test( Release.project ) ) {
31-
projectCdn = jqueryCdn + "/" + Release.project.substring( 7 ) +
32-
"/" + Release.newVersion;
33-
} else {
34-
projectCdn = jqueryCdn + "/" + Release.project + "/" + Release.newVersion;
35-
}
36-
3745
Release.chdir( Release.dir.base );
38-
shell.mkdir( "-p", projectCdn );
39-
shell.cp( "-r", releaseCdn + "/*", projectCdn );
46+
console.log( "Copying files from " + releaseCdn.cyan + " to " + targetCdn.cyan + "." );
47+
shell.mkdir( "-p", targetCdn );
48+
shell.cp( "-r", releaseCdn + "/*", targetCdn );
4049

4150
console.log( "Adding files..." );
42-
Release.chdir( projectCdn );
51+
Release.chdir( targetCdn );
4352
Release.git( "add ." , "Error adding files." );
4453
Release.git( "commit -m '" + commitMessage + "'" , "Error commiting files." );
54+
},
55+
56+
_pushToCdn: function() {
57+
Release.chdir( projectCdn() );
4558
Release.git( "push", "Error pushing to CDN." );
4659
console.log();
4760
}

release.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ commonTasks = [
4141
Release._pushRelease,
4242

4343
Release._section( "publishing to jQuery CDN" ),
44+
Release._copyCdnArtifacts,
45+
Release.confirmReview,
4446
Release._pushToCdn
4547
];
4648

0 commit comments

Comments
 (0)