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

docs(adr): add draft ADR for library release automation #1576

Merged
merged 8 commits into from
Dec 5, 2023

Conversation

dancormier
Copy link
Contributor

@dancormier dancormier commented Dec 4, 2023

STACKS-417.

This PR adds an ADR to describe the decision to use Changesets as a way to automate away much of the manual effort currently necessary to cut releases (across all Stacks libraries).

Note
I considered implementing Changesets into this repo out of scope for the sake of this PR and instead decided to focus solely on the ADR. IMO, we should handle updating the release process after this ADR is agreed upon and merged.

@dancormier dancormier added the adr Architecture Decision Record label Dec 4, 2023
@dancormier dancormier requested a review from giamir December 4, 2023 22:25
Copy link

netlify bot commented Dec 4, 2023

Deploy Preview for stacks ready!

Name Link
🔨 Latest commit 745679c
🔍 Latest deploy log https://app.netlify.com/sites/stacks/deploys/656f795619d78b0008ae92a8
😎 Deploy Preview https://deploy-preview-1576--stacks.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@giamir
Copy link
Contributor

giamir commented Dec 5, 2023

I considered implementing Changesets into this repo out of scope for the sake of this PR and instead decided to focus solely on the ADR. IMO, we should handle updating the release process after this ADR is agreed upon and merged.

Absolutely, this is out of scope for STACKS-417. We have other placeholder stories in place which should be updated linking to this ADR. 🙂

Copy link
Contributor

@giamir giamir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall it looks good to me. 🙂

I believe the only thing I would add is a small section explaining why we picked changesets over "other tools" (e.g. release-please, sematic-release, etc... - there might be more).
We don't need to necessarily do deep research on them but at least mention what we have quickly evaluated. For example semantic-release doesn't support monorepo setups well. Release please if I recall correctly doesn't have an automated way to publish to npm (but I might be wrong).

One more thing worth highlighting in the ADR is that despite changesets incentivize describing changes independently from the commit messages we are still committed to follow conventional-commits. You can probably take inspiration from what I have wrote here.

Thanks @dancormier. ❤️

adrs/0006-automatic-library-release.md Outdated Show resolved Hide resolved
adrs/0006-automatic-library-release.md Outdated Show resolved Hide resolved
@dancormier
Copy link
Contributor Author

@giamir thank you for your review! i made the changes you suggested and will merge this PR shortly. If you see any recent changes that need improvement, please let me know and I'll open a new PR.

@dancormier dancormier merged commit bc36bc8 into develop Dec 5, 2023
4 checks passed
@dancormier dancormier deleted the dcormier/release-automation-adr branch December 5, 2023 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
adr Architecture Decision Record
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants