Files
cypress/scripts/binary/bump.coffee
2017-06-29 14:06:45 -04:00

68 lines
1.8 KiB
CoffeeScript

_ = require("lodash")
fs = require("fs-extra")
Promise = require("bluebird")
bumpercar = require("@cypress/bumpercar")
path = require("path")
fs = Promise.promisifyAll(fs)
PROVIDERS = {
circle: [
"cypress-io/cypress-dashboard"
"cypress-io/cypress-core-example"
"cypress-io/cypress-core-desktop-gui"
"cypress-io/cypress-example-kitchensink"
"cypress-io/cypress-example-todomvc"
"cypress-io/cypress-example-piechopper"
"cypress-io/cypress-example-recipes"
"cypress-io/cypress-example-node-versions"
"cypress-io/cypress-example-module-api"
"cypress-io/cypress-test-ci-environments"
]
travis: [
# "cypress-io/cypress-dashboard"
"cypress-io/cypress-core-example"
"cypress-io/cypress-core-desktop-gui"
"cypress-io/cypress-example-kitchensink"
"cypress-io/cypress-example-todomvc"
"cypress-io/cypress-example-piechopper"
"cypress-io/cypress-example-recipes"
]
}
awaitEachProjectAndProvider = (fn) ->
ciJson = path.join(__dirname, "support/ci.json")
creds = fs.readJsonSync(ciJson, "utf8")
fs.readJsonAsync(ciJson)
.then (creds) ->
## configure a new Bumpercar
car = bumpercar.create({
providers: {
travis: {
githubToken: creds.githubToken
}
circle: {
circleToken: creds.circleToken
}
}
})
.then ->
_.map PROVIDERS, (projects, provider) ->
Promise.map projects, (project) ->
fn(project, provider)
.all()
module.exports = {
version: (version) ->
awaitEachProjectAndProvider (project, provider) ->
car.updateProjectEnv(project, provider, {
CYPRESS_VERSION: version
})
run: ->
awaitEachProjectAndProvider (project, provider) ->
car.runProject(project, provider)
}