Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-enable draft release automation for builds on release branches #19346

Merged
merged 3 commits into from May 21, 2019

Conversation

Projects
None yet
2 participants
@daviwil
Copy link
Contributor

commented May 15, 2019

Description of the Change

This change re-enables draft release automation for Atom release branches and fixes an issue that showed up after PR #17862. After merging the aforementioned PR, I had to disable this automation due to a last minute issue I found with how GitHub releases were being created. This change fixes that by explicitly mentioning the SHA of the commit for the release branch from which the release is created.

This change also adds a new Azure Pipelines variable called Atom.AutoDraftRelease which can be set to true or false at the build definition level depending on whether we want this behavior to be turned on at any given time. I have configured it to be set to false until the team has decided that this automation will be used for Atom stable and beta releases.

Alternate Designs

Nothing relevant to mention.

Possible Drawbacks

No possible side effects since this behavior is not turned on by default

Verification Process

  • Ensure that a draft GitHub release gets created from an emulated release build with the correct SHA for HEAD of that branch
  • Ensure that release artifacts are correctly uploaded to S3
  • Ensure that Linux packages are correctly uploaded to Packagecloud
  • Ensure that Atom's release verifier thinks that the draft release is shippable
  • Ensure that draft release automation is not attempted when Atom.AutoDraftRelease is set to false

Post-merge Tasks

  • Cherry-pick changes to 1.37-releases
  • Cherry-pick changes to 1.38-releases
  • Ensure that Atom.AutoDraftRelease is set to false in the "Atom Production Branches" build definition

Release Notes

N/A

@daviwil daviwil requested review from nathansobo and jasonrudolph May 15, 2019

const releaseSha =
!isNightlyRelease
? spawnSync('git', ['rev-parse', 'HEAD']).stdout.toString().trimEnd()
: undefined

This comment has been minimized.

Copy link
@jasonrudolph

jasonrudolph May 17, 2019

Member

@daviwil: Can you help me understand why it's OK for the SHA to be undefined for nightly releases, but it's not OK for it to be undefined for stable and beta releases? Is it because the nightly releases should always use the default target commitish (i.e., master)?

If so, how would you feel about replacing undefined with 'master' here?

This comment has been minimized.

Copy link
@daviwil

daviwil May 17, 2019

Author Contributor

Good question! Yep, Nightly should use the default which is master, I'll change it there to be more explicit. The reason I'm using master for Nightly is because the tag actually gets created in the atom/atom-nightly-releases repo instead of the atom/atom repo, making the tag itself pretty meaningless.

David Wilson

@jasonrudolph jasonrudolph self-assigned this May 21, 2019

@jasonrudolph jasonrudolph merged commit 0ab0e65 into master May 21, 2019

2 checks passed

Atom Pull Requests #20190517.7 succeeded
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details

@jasonrudolph jasonrudolph deleted the dw-fix-draft-automation branch May 21, 2019

jasonrudolph added a commit that referenced this pull request May 21, 2019

Merge pull request #19346 from atom/dw-fix-draft-automation
Re-enable draft release automation for builds on release branches

jasonrudolph added a commit that referenced this pull request May 21, 2019

Merge pull request #19346 from atom/dw-fix-draft-automation
Re-enable draft release automation for builds on release branches
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.