-
Notifications
You must be signed in to change notification settings - Fork 24
build: share releases of feature tags for install from pull requests #125
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
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #125 +/- ##
==========================================
+ Coverage 63.48% 63.49% +0.01%
==========================================
Files 212 212
Lines 22344 22344
==========================================
+ Hits 14184 14187 +3
+ Misses 7078 7077 -1
+ Partials 1082 1080 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
zimeg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💌 Sharing thoughts with the kind reviewers but I might revisit something before marking this for review!
| - run: | ||
| name: Output BUILD_VERSION env var based on recent git tag and type of build | ||
| command: | | ||
| BUILD_VERSION=$(git describe --tags --match 'v*.*.*' --exclude '*feature'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👁️🗨️ Accepting the -feature suffix matches the description of collecting the build version, and matches the tag that goreleaser expects:
slack-cli/.circleci/config.yml
Line 23 in 12daa9a
| description: "Exports a BUILD_VERSION env var based on the most recent git tag. The format of the string will be 'vX.X.X[-branch-name[-feature]]', unless the `sanitized` parameter is set to `true` which drops the `v` prefix." |
| --arg ct "$CIRCLE_TAG" \ | ||
| --arg cs "$CIRCLE_SHA1" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🪓 These are unused in the upstream script!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thanks for removing them and simplifying the config!
| sleep 1 | ||
| FEATURE_TAG_NAME="${TAGS}-${REF}-feature" | ||
| echo "Identified feature-release tagname as 🔪: $FEATURE_TAG_NAME" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🪓 Here we attempt to delete feature releases after the corresponding PR merges into main with the feature branch deleted to prefer the "dev" build.
I'm not certain if we want to do this or if it should set RELEASE_FOUND to "0" 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can see both sides of the question. On one side, the feature release might be useful to folks even if it's merged and released. For example, falling back on a working feature build that has a bug in the production release. On the other hand, cleaning up development work (including feature tags) would be nice.
|
🏁 Before pushing the feature tag, I will make sure tests of a PR pass with these changes. Then I will test the tag. Then I'll push another commit to make sure nothing wild happens! |
|
📣 From the runner logs of a feature build the revert above seems to still checkout these changes fine: I'm also finding both the prerelease and feature tag appear as we hope: |
|
👻 Even with the preceding feature tag existing for 4964546 the prerelease uploads are still found on the branch release: Edit: Added the commit with the preceding feature tag! |
mwbrooks
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Looking good and love the docs 📚
💬 Regarding your question around cleaning up the feature release, I think we can do either one. We may change our choice if we receive feedback from the community as well.
| --arg ct "$CIRCLE_TAG" \ | ||
| --arg cs "$CIRCLE_SHA1" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thanks for removing them and simplifying the config!
| ```bash | ||
| curl -fsSL https://downloads.slack-edge.com/slack-cli/install-dev.sh | bash -s -- -v 3.4.5-feat-something-feature | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahhhh, so nice to have this documented! ✨
| sleep 1 | ||
| FEATURE_TAG_NAME="${TAGS}-${REF}-feature" | ||
| echo "Identified feature-release tagname as 🔪: $FEATURE_TAG_NAME" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can see both sides of the question. On one side, the feature release might be useful to folks even if it's merged and released. For example, falling back on a working feature build that has a bug in the production release. On the other hand, cleaning up development work (including feature tags) would be nice.
|
@mwbrooks Thanks for the review and unblocking downstream PRs! 🚀 ✨
This was similar to what I was thinking about, in CI that might depend on certain features. We might lean into more more soon releases to bring those features to a stable version though, but I do understand how useful this might be 🙏 For now let's merge this - I'll keep watch on the feature tag linked above for proper deletion. |
|
📣 Sweet that's looking good too: https://github.com/slackapi/slack-cli/actions/runs/15568258806/job/43837591542#step:2:81 |
Summary
This PR updates the feature tag workflow to prefer building on branches of a pull request. 👾
Notes
build: sign macos binaries for arm and amd architectures and universal packagings #124 🤖 ✨
Requirements