diff --git a/appveyor.yml b/appveyor.yml index 51e074a4c..6248db85e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,9 +1,5 @@ version: "{build}" -branches: - only: - - master - skip_tags: true clone_folder: c:\projects\atom clone_depth: 10 @@ -37,6 +33,9 @@ artifacts: name: AtomSetup.msi cache: + - '%APPVEYOR_BUILD_FOLDER%\build\node_modules' + - '%APPVEYOR_BUILD_FOLDER%\apm\node_modules' + - '%APPVEYOR_BUILD_FOLDER%\node_modules' - '%USERPROFILE%\.atom\.apm' - '%USERPROFILE%\.atom\.node-gyp\.atom' - '%USERPROFILE%\.atom\.npm' diff --git a/build/tasks/publish-build-task.coffee b/build/tasks/publish-build-task.coffee index 27f36aaeb..ad31c0d8e 100644 --- a/build/tasks/publish-build-task.coffee +++ b/build/tasks/publish-build-task.coffee @@ -34,7 +34,12 @@ module.exports = (gruntObject) -> grunt.registerTask 'upload-assets', 'Upload the assets to a GitHub release', -> releaseBranch = grunt.config.get('atom.releaseBranch') isPrerelease = grunt.config.get('atom.channel') is 'beta' - return unless releaseBranch? + + unless releaseBranch? + grunt.log.ok("Skipping upload-assets to #{repo} repo because this is not a release branch") + return + + grunt.log.ok("Starting upload-assets to #{repo} repo") doneCallback = @async() startTime = Date.now() @@ -119,6 +124,7 @@ logError = (message, error, details) -> zipAssets = (buildDir, assets, callback) -> zip = (directory, sourcePath, assetName, callback) -> + grunt.log.ok("Zipping #{sourcePath} into #{assetName}") if process.platform is 'win32' sevenZipPath = if process.env.JANKY_SHA1? then "C:/psmodules/" else "" zipCommand = "#{sevenZipPath}7z.exe a -r \"#{assetName}\" \"#{sourcePath}\"" @@ -136,6 +142,7 @@ zipAssets = (buildDir, assets, callback) -> async.parallel(tasks, callback) getAtomDraftRelease = (isPrerelease, branchName, callback) -> + grunt.log.ok("Obtaining GitHub draft release for #{branchName}") atomRepo = new GitHub({repo: repo, token}) atomRepo.getReleases {prerelease: isPrerelease}, (error, releases=[]) -> if error? @@ -154,12 +161,14 @@ getAtomDraftRelease = (isPrerelease, branchName, callback) -> logError('Fetching draft release assets failed', error, assets) callback(error ? new Error(response.statusCode)) else + grunt.log.ok("Using GitHub draft release #{firstDraft.name}") firstDraft.assets = assets callback(null, firstDraft) else createAtomDraftRelease(isPrerelease, branchName, callback) createAtomDraftRelease = (isPrerelease, branchName, callback) -> + grunt.log.ok("Creating GitHub draft release #{branchName}") {version} = require('../../package.json') options = uri: "https://api.github.com/repos/#{repo}/releases" @@ -185,6 +194,7 @@ createAtomDraftRelease = (isPrerelease, branchName, callback) -> callback(null, body) deleteRelease = (release) -> + grunt.log.ok("Deleting GitHub release #{release.tag_name}") options = uri: release.url method: 'DELETE' @@ -195,6 +205,7 @@ deleteRelease = (release) -> logError('Deleting release failed', error, body) deleteExistingAssets = (release, assetNames, callback) -> + grunt.log.ok("Deleting #{assetNames.join(',')} from GitHub release #{release.tag_name}") [callback, assetNames] = [assetNames, callback] if not callback? deleteAsset = (url, callback) -> @@ -216,6 +227,7 @@ deleteExistingAssets = (release, assetNames, callback) -> uploadAssets = (release, buildDir, assets, callback) -> uploadToReleases = (release, assetName, assetPath, callback) -> + grunt.log.ok("Uploading #{assetName} to GitHub release #{release.tag_name}") options = uri: release.upload_url.replace(/\{.*$/, "?name=#{assetName}") method: 'POST' @@ -248,6 +260,7 @@ uploadAssets = (release, buildDir, assets, callback) -> s3 = new AWS.S3 s3Info key = "releases/#{release.tag_name}/#{assetName}" + grunt.log.ok("Uploading to S3 #{key}") uploadParams = Bucket: s3Bucket ACL: 'public-read' diff --git a/script/cibuild b/script/cibuild index 627c2291a..6f16ac5cd 100755 --- a/script/cibuild +++ b/script/cibuild @@ -40,10 +40,6 @@ function setEnvironmentVariables() { process.env.CC = 'clang'; process.env.CXX = 'clang++'; process.env.npm_config_clang = '1'; - } else if (process.platform === 'win32') { - process.env.BUILD_ATOM_RELEASES_S3_KEY = process.env.BUILD_ATOM_WIN_RELEASES_S3_KEY - process.env.BUILD_ATOM_RELEASES_S3_SECRET = process.env.BUILD_ATOM_WIN_RELEASES_S3_SECRET - process.env.BUILD_ATOM_RELEASES_S3_BUCKET = process.env.BUILD_ATOM_WIN_RELEASES_S3_BUCKET } }