From 8be222bd96265d391bb4985aed5fbff3c8f0ed21 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Wed, 15 May 2019 08:35:14 -0700 Subject: [PATCH 1/3] Set the target_commitish of the draft release --- script/vsts/upload-artifacts.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/script/vsts/upload-artifacts.js b/script/vsts/upload-artifacts.js index 08fb27024..e1da02667 100644 --- a/script/vsts/upload-artifacts.js +++ b/script/vsts/upload-artifacts.js @@ -4,6 +4,7 @@ const fs = require('fs') const os = require('os') const path = require('path') const glob = require('glob') +const spawnSync = require('../lib/spawn-sync') const publishRelease = require('publish-release') const releaseNotes = require('./lib/release-notes') const uploadToS3 = require('./lib/upload-to-s3') @@ -93,6 +94,11 @@ async function uploadArtifacts () { console.log(`New release notes:\n\n${newReleaseNotes}`) + const releaseSha = + !isNightlyRelease + ? spawnSync('git', ['rev-parse', 'HEAD']).stdout.toString().trimEnd() + : undefined + console.log(`Creating GitHub release v${releaseVersion}`) const release = await publishReleaseAsync({ @@ -101,6 +107,7 @@ async function uploadArtifacts () { repo: !isNightlyRelease ? 'atom' : 'atom-nightly-releases', name: CONFIG.computedAppVersion, notes: newReleaseNotes, + target_commitish: releaseSha, tag: `v${CONFIG.computedAppVersion}`, draft: !isNightlyRelease, prerelease: CONFIG.channel !== 'stable', From f3118e7f900be551f3e360bdf5040ed3cbad916c Mon Sep 17 00:00:00 2001 From: David Wilson Date: Wed, 15 May 2019 08:39:51 -0700 Subject: [PATCH 2/3] Re-enable draft release creation and add AutoDraftRelease switch --- script/vsts/release-branch-build.yml | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/script/vsts/release-branch-build.yml b/script/vsts/release-branch-build.yml index d60a8afe7..4c6eee1e4 100644 --- a/script/vsts/release-branch-build.yml +++ b/script/vsts/release-branch-build.yml @@ -62,19 +62,17 @@ jobs: downloadType: 'specific' displayName: Download Release Artifacts - # NOTE: This has been disabled until one final issue has been resolved - # around setting the SHA on GitHub releases. - # - script: | - # node $(Build.SourcesDirectory)\script\vsts\upload-artifacts.js --create-github-release --assets-path "$(System.ArtifactsDirectory)" --linux-repo-name "atom-staging" - # env: - # GITHUB_TOKEN: $(GITHUB_TOKEN) - # ATOM_RELEASE_VERSION: $(ReleaseVersion) - # ATOM_RELEASES_S3_KEY: $(ATOM_RELEASES_S3_KEY) - # ATOM_RELEASES_S3_SECRET: $(ATOM_RELEASES_S3_SECRET) - # ATOM_RELEASES_S3_BUCKET: $(ATOM_RELEASES_S3_BUCKET) - # PACKAGE_CLOUD_API_KEY: $(PACKAGE_CLOUD_API_KEY) - # displayName: Create Draft Release - # condition: and(succeeded(), eq(variables['IsReleaseBranch'], 'true')) + - script: | + node $(Build.SourcesDirectory)\script\vsts\upload-artifacts.js --create-github-release --assets-path "$(System.ArtifactsDirectory)" --linux-repo-name "atom-staging" + env: + GITHUB_TOKEN: $(GITHUB_TOKEN) + ATOM_RELEASE_VERSION: $(ReleaseVersion) + ATOM_RELEASES_S3_KEY: $(ATOM_RELEASES_S3_KEY) + ATOM_RELEASES_S3_SECRET: $(ATOM_RELEASES_S3_SECRET) + ATOM_RELEASES_S3_BUCKET: $(ATOM_RELEASES_S3_BUCKET) + PACKAGE_CLOUD_API_KEY: $(PACKAGE_CLOUD_API_KEY) + displayName: Create Draft Release + condition: and(succeeded(), eq(variables['Atom.AutoDraftRelease'], 'true'), eq(variables['IsReleaseBranch'], 'true')) - script: | node $(Build.SourcesDirectory)\script\vsts\upload-artifacts.js --assets-path "$(System.ArtifactsDirectory)" --s3-path "vsts-artifacts/$(Build.BuildId)/" From d3c556bdba927f728fa4c5afe5f51133bc532183 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Fri, 17 May 2019 08:04:07 -0700 Subject: [PATCH 3/3] Be more explicit about Nightly tag target --- script/vsts/upload-artifacts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/vsts/upload-artifacts.js b/script/vsts/upload-artifacts.js index e1da02667..c3b14167c 100644 --- a/script/vsts/upload-artifacts.js +++ b/script/vsts/upload-artifacts.js @@ -97,7 +97,7 @@ async function uploadArtifacts () { const releaseSha = !isNightlyRelease ? spawnSync('git', ['rev-parse', 'HEAD']).stdout.toString().trimEnd() - : undefined + : 'master' // Nightly tags are created in atom/atom-nightly-releases so the SHA is irrelevant console.log(`Creating GitHub release v${releaseVersion}`) const release =