diff --git a/script/vsts/nightly-release.yml b/script/vsts/nightly-release.yml index 4e19f593cea..aed490601eb 100644 --- a/script/vsts/nightly-release.yml +++ b/script/vsts/nightly-release.yml @@ -1,3 +1,9 @@ +variables: + ATOM_RELEASES_S3_KEY: $[ variables['ATOM_RELEASES_S3_KEY'] ] + ATOM_RELEASES_S3_SECRET: $[ variables['ATOM_RELEASES_S3_SECRET'] ] + ATOM_RELEASES_S3_BUCKET: $[ variables['ATOM_RELEASES_S3_BUCKET'] ] + PACKAGE_CLOUD_API_KEY: $[ variables['PACKAGE_CLOUD_API_KEY'] ] + jobs: - job: GetReleaseVersion pool: diff --git a/script/vsts/release-branch-build.yml b/script/vsts/release-branch-build.yml index 24b1e44b99d..842e78c3806 100644 --- a/script/vsts/release-branch-build.yml +++ b/script/vsts/release-branch-build.yml @@ -4,6 +4,12 @@ trigger: - electron-* pr: none # no PR triggers +variables: + ATOM_RELEASES_S3_KEY: $[ variables['ATOM_RELEASES_S3_KEY'] ] + ATOM_RELEASES_S3_SECRET: $[ variables['ATOM_RELEASES_S3_SECRET'] ] + ATOM_RELEASES_S3_BUCKET: $[ variables['ATOM_RELEASES_S3_BUCKET'] ] + PACKAGE_CLOUD_API_KEY: $[ variables['PACKAGE_CLOUD_API_KEY'] ] + jobs: - job: GetReleaseVersion pool: diff --git a/script/vsts/upload-artifacts.js b/script/vsts/upload-artifacts.js index ed7530921e6..0b7a1387adf 100644 --- a/script/vsts/upload-artifacts.js +++ b/script/vsts/upload-artifacts.js @@ -65,27 +65,43 @@ async function uploadArtifacts() { return; } - console.log( - `Uploading ${ - assets.length - } release assets for ${releaseVersion} to S3 under '${bucketPath}'` - ); - - await uploadToS3( - process.env.ATOM_RELEASES_S3_KEY, - process.env.ATOM_RELEASES_S3_SECRET, - process.env.ATOM_RELEASES_S3_BUCKET, - bucketPath, - assets - ); + if ( + process.env.ATOM_RELEASES_S3_KEY && + process.env.ATOM_RELEASES_S3_SECRET && + process.env.ATOM_RELEASES_S3_BUCKET + ) { + console.log( + `Uploading ${ + assets.length + } release assets for ${releaseVersion} to S3 under '${bucketPath}'` + ); - if (argv.linuxRepoName) { - await uploadLinuxPackages( - argv.linuxRepoName, - process.env.PACKAGE_CLOUD_API_KEY, - releaseVersion, + await uploadToS3( + process.env.ATOM_RELEASES_S3_KEY, + process.env.ATOM_RELEASES_S3_SECRET, + process.env.ATOM_RELEASES_S3_BUCKET, + bucketPath, assets ); + } else { + console.log( + '\nEnvironment variables "ATOM_RELEASES_S3_BUCKET", "ATOM_RELEASES_S3_KEY" and/or "ATOM_RELEASES_S3_SECRET" are not set, skipping S3 upload.' + ); + } + + if (argv.linuxRepoName) { + if (process.env.PACKAGE_CLOUD_API_KEY) { + await uploadLinuxPackages( + argv.linuxRepoName, + process.env.PACKAGE_CLOUD_API_KEY, + releaseVersion, + assets + ); + } else { + console.log( + '\nEnvironment variable "PACKAGE_CLOUD_API_KEY" is not set, skipping PackageCloud upload.' + ); + } } else { console.log( '\nNo Linux package repo name specified, skipping Linux package upload.' diff --git a/script/vsts/upload-crash-reports.js b/script/vsts/upload-crash-reports.js index 268fbf5884b..81572dc5780 100644 --- a/script/vsts/upload-crash-reports.js +++ b/script/vsts/upload-crash-reports.js @@ -40,9 +40,19 @@ async function uploadCrashReports() { } } -// Wrap the call the async function and catch errors from its promise because -// Node.js doesn't yet allow use of await at the script scope -uploadCrashReports().catch(err => { - console.error('An error occurred while uploading crash reports:\n\n', err); - process.exit(1); -}); +if ( + process.env.ATOM_RELEASES_S3_KEY && + process.env.ATOM_RELEASES_S3_SECRET && + process.env.ATOM_RELEASES_S3_BUCKET +) { + // Wrap the call the async function and catch errors from its promise because + // Node.js doesn't yet allow use of await at the script scope + uploadCrashReports().catch(err => { + console.error('An error occurred while uploading crash reports:\n\n', err); + process.exit(1); + }); +} else { + console.log( + '\n\nEnvironment variables "ATOM_RELEASES_S3_BUCKET", "ATOM_RELEASES_S3_KEY" and/or "ATOM_RELEASES_S3_SECRET" are not set, skipping S3 upload.' + ); +}