deploy: list all dev dependencies

This commit is contained in:
Gleb Bahmutov
2017-06-19 15:46:37 -04:00
parent 331f2058d4
commit 59f9e894a7
9 changed files with 92 additions and 70 deletions
+3
View File
@@ -0,0 +1,3 @@
require('../packages/coffee/register')
require('./deploy/index')
+37 -41
View File
@@ -4,7 +4,10 @@ glob = require("glob")
Promise = require("bluebird")
inquirer = require("inquirer")
throw new Error("TODO: upgrade inquirer to promise interface")
glob = Promise.promisify(glob)
prompt = (questions) ->
Promise.resolve(inquirer.prompt(questions))
fs = Promise.promisifyAll(fs)
@@ -89,55 +92,48 @@ module.exports = {
}]
deployNewVersion: ->
new Promise (resolve, reject) =>
fs.readJsonAsync("./package.json").then (json) =>
inquirer.prompt @getQuestions(json.version), (answers) =>
## set the new version if we're publishing!
## update our own local package.json as well
if answers.publish
# @updateLocalPackageJson(answers.version, json).then ->
resolve(answers.version)
else
resolve(json.version)
fs.readJsonAsync("./package.json")
.then (json) =>
prompt(@getQuestions(json.version))
.then (answers) ->
## set the new version if we're publishing!
## update our own local package.json as well
if answers.publish
# @updateLocalPackageJson(answers.version, json).then ->
answers.version
else
json.version
whichVersion: (distDir) ->
new Promise (resolve, reject) =>
## realpath returns the absolute full path
glob "*/package.json", {cwd: distDir, realpath: true}, (err, pkgs) =>
return reject(err) if err
## realpath returns the absolute full path
glob("*/package.json", {cwd: distDir, realpath: true})
.map (pkg) =>
fs.readJsonAsync(pkg)
.get("version")
.then (versions) =>
versions = _.uniq(versions)
Promise
.map pkgs, (pkg) ->
fs.readJsonAsync(pkg).get("version")
.then (versions) =>
versions = _.uniq(versions)
inquirer.prompt @getVersions(versions), (answers) =>
resolve(answers.version)
prompt(@getVersions(versions))
.get("version")
whichRelease: (distDir) ->
new Promise (resolve, reject) =>
## realpath returns the absolute full path
glob "*/package.json", {cwd: distDir, realpath: true}, (err, pkgs) =>
return reject(err) if err
## realpath returns the absolute full path
glob("*/package.json", {cwd: distDir, realpath: true})
.map (pkg) =>
fs.readJsonAsync(pkg)
.get("version")
.then (versions) =>
versions = _.uniq(versions)
Promise
.map pkgs, (pkg) ->
fs.readJsonAsync(pkg).get("version")
.then (versions) =>
versions = _.uniq(versions)
inquirer.prompt @getReleases(versions), (answers) =>
resolve(answers.release)
prompt(@getReleases(versions))
.get("release")
whichPlatform: ->
new Promise (resolve, reject) =>
inquirer.prompt @getPlatformQuestion(), (answers) =>
resolve(answers.platform)
prompt(@getPlatformQuestion())
.get("platform")
whichBumpTask: ->
new Promise (resolve, reject) =>
inquirer.prompt @getBumpTasks(), (answers) =>
resolve(answers.task)
prompt(@getBumpTasks())
.get("task")
}
+6 -8
View File
@@ -1,7 +1,5 @@
require("../gulpfile.coffee")
_ = require("lodash")
$ = require("gulp-load-plugins")()
gulpCoffee = require("gulp-coffee")
fs = require("fs-extra")
cp = require("child_process")
path = require("path")
@@ -15,10 +13,10 @@ runSequence = require("run-sequence")
cypressElectron = require("@packages/electron")
log = require("./log")
meta = require("./meta")
pkg = require("../package.json")
konfig = require("../lib/konfig")
appData = require("../lib/util/app_data")
Fixtures = require("../test/support/helpers/fixtures")
pkg = require("../../package.json")
konfig = require("@packages/server/lib/konfig")
appData = require("@packages/server/lib/util/app_data")
Fixtures = require("@packages/server/test/support/helpers/fixtures")
# pkgr = Promise.promisify(pkgr)
fs = Promise.promisifyAll(fs)
@@ -126,7 +124,7 @@ class Base
## convert to js
new Promise (resolve, reject) =>
gulp.src(@distDir("src/**/*.coffee"))
.pipe $.coffee()
.pipe gulpCoffee()
.pipe gulp.dest(@distDir("src"))
.on "end", resolve
.on "error", reject
+4 -2
View File
@@ -1,9 +1,11 @@
_ = require("lodash")
fs = require("fs-extra")
Promise = require("bluebird")
bumpercar = require("cypress-bumpercar")
bumpercar = require("@cypress/bumpercar")
path = require("path")
creds = fs.readJsonSync("./support/ci.json", "utf8")
ciJson = path.join(__dirname, "support/ci.json")
creds = fs.readJsonSync(ciJson, "utf8")
## configure a new Bumpercar
car = bumpercar.create({
+17 -12
View File
@@ -1,20 +1,25 @@
$ = require("gulp-load-plugins")()
awspublish = require('gulp-awspublish')
rename = require('gulp-rename')
debug = require('gulp-debug')
fs = require("fs-extra")
cp = require("child_process")
path = require("path")
gulp = require("gulp")
human = require("human-interval")
konfig = require("konfig")()
konfig = require("@packages/server/lib/konfig")()
Promise = require("bluebird")
meta = require("./meta")
# TODO please do not hardcode me
# CDN_URL = "https://cdn.cypress.io"
fs = Promise.promisifyAll(fs)
module.exports = {
getPublisher: ->
aws = @getAwsObj()
$.awspublish.create
awspublish.create
httpOptions: {
timeout: human("10 minutes")
}
@@ -38,7 +43,7 @@ module.exports = {
uploadOsName = platform.uploadOsName
zipName = platform.zipName
url = [konfig.app.cdn_url, "desktop", version, uploadOsName, zipName].join("/")
url = [konfig('cdn_url'), "desktop", version, uploadOsName, zipName].join("/")
cp.exec "cfcli purgefile #{url}", (err, stdout, stderr) ->
return reject(err) if err
@@ -53,7 +58,7 @@ module.exports = {
getUrl = (uploadOsName) ->
{
url: [konfig.app.cdn_url, folder, version, uploadOsName, zipName].join("/")
url: [konfig('cdn_url'), folder, version, uploadOsName, zipName].join("/")
}
obj = {
@@ -80,12 +85,12 @@ module.exports = {
new Promise (resolve, reject) =>
@createRemoteManifest(aws.folder, version).then (src) ->
gulp.src(src)
.pipe $.rename (p) ->
.pipe rename (p) ->
p.dirname = aws.folder + "/" + p.dirname
p
.pipe $.debug()
.pipe debug()
.pipe publisher.publish(headers)
.pipe $.awspublish.reporter()
.pipe awspublish.reporter()
.on "error", reject
.on "end", resolve
@@ -103,16 +108,16 @@ module.exports = {
headers["Cache-Control"] = "no-cache"
gulp.src(pathToZipFile)
.pipe $.rename (p) =>
.pipe rename (p) =>
p.dirname = @getUploadDirName(platform)
p
.pipe $.debug()
.pipe debug()
.pipe publisher.publish(headers)
.pipe $.awspublish.reporter()
.pipe awspublish.reporter()
.on "error", reject
.on "end", resolve
upload()
.then =>
@purgeCache(platform)
}
}
+7
View File
@@ -0,0 +1,7 @@
deploy = require("./deploy")
gulp.task "release", deploy.release
gulp.task "deploy", deploy.deploy
gulp.task "bump", deploy.bump