-
Notifications
You must be signed in to change notification settings - Fork 24
feat(bolt-install): added --experiment=bolt-install #88
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 #88 +/- ##
=======================================
Coverage 63.16% 63.17%
=======================================
Files 210 210
Lines 22186 22186
=======================================
+ Hits 14013 14015 +2
+ Misses 7087 7084 -3
- Partials 1086 1087 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
A few comments to help guide the kind reviewers!
| cf.SDKConfig.WorkingDirectory = "." | ||
| cm.AddDefaultMocks() | ||
| cm.Config.ExperimentsFlag = append(cm.Config.ExperimentsFlag, experiment.BoltFrameworks) | ||
| cm.Config.ExperimentsFlag = append(cm.Config.ExperimentsFlag, string(experiment.BoltFrameworks)) |
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.
note: Side effect of updating BoltFrameworks to be an Experiment.
| You will then be prompted to choose between **Bolt for JavaScript** or **Bolt for Python**. Choose your favorite flavor. | ||
|
|
||
| Your app will be cloned from the respective [JavaScript](https://github.com/slack-samples/bolt-js-starter-template) or [Python](https://github.com/slack-samples/bolt-python-starter-template) project template on our Slack Platform Sample Code repository, and its project dependencies will be installed. Then, `cd` into your project folder. | ||
| Your app will be cloned from the respective [JavaScript](https://github.com/slack-samples/bolt-js-starter-template) or [Python](https://github.com/slack-samples/bolt-python-starter-template) project template on our Slack Platform Sample Code repository, and its project dependencies will be installed. Then, `cd` into your project folder. |
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.
note: Editor auto-removed trailing whitespace.
| ::: | ||
|
|
||
| To run your new app, use the `slack run` command with the experiment flag as follows: | ||
| To run your new app, use the `slack run` command as follows: |
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.
note: I think this was left over from when we had --experiment bolt.
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.
Thanks for reviewing these pages as part of this change 👾 ✨
| ``` | ||
|
|
||
| You'll be prompted to choose your team/workspace, and then your app should let you know that it's up and running. 🎉 | ||
| You'll be prompted to choose your team/workspace, and then your app should let you know that it's up and running. 🎉 |
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.
note: Editor auto-added a newline to end of file.
| * `bolt-install`: enables creating, installing, and running Bolt projects that manage their app manifest on app settings (remote manifest). | ||
| * `read-only-collaborators`: enables creating and modifying collaborator permissions via the `slack collaborator` commands. |
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.
question: How does this look for documenting the new experiment?
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 like how an overall goal of the experiment is here to start!
One idea is to add sub-bullet points under the experiment in
experiments.mdto document what's available.
This is also a good idea IMO! Were you thinking of these as copied commit messages or more complete blurbs on the change?
You've been writing nice CHANGELOG notes at the top of PRs and I might lean towards matching that here but am also so curious of other thoughts 📚 ✨
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.
📝 Keeping all of these notes in experiments.md also might make following changes faster for the wonderful readers.
It's seeming like this experiment will span multiple commands which could be confusing without reading all of the help pages otherwise?
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.
📝 Keeping all of these notes in
experiments.mdalso might make following changes faster for the wonderful readers.
This was my thought as well. The bullet point list written for the developers using the feature will help them follow along and know what's available. We can also link to the PR that implements the features 🤔
When we release the feature, the bullet point list will help us draft a release announcement. If we need extra details, we can find them in the PRs by searching for the experiment label and text (bolt-install)
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.
@mwbrooks Oh, wow! Linking to PRs I guess is now an option. I like this idea a lot 😌 🟩
| // BoltFrameworks experiment adds CLI support for Bolt JavaScript & Bolt Python. | ||
| // These frameworks will be introducing remote function support. | ||
| BoltFrameworks = "bolt" | ||
| BoltFrameworks Experiment = "bolt" |
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.
note: Updated to be cast as an Experiment instead of string
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.
Woah great catch... At first I thought this was an extra space 😴
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.
@mwbrooks Let's gooo! An experiment releasing makes for excited developments 🧪
With hopes that this one will be around for a few fast releases, the name seems alright to me. Knowing I can keep this in config.json is nice too.
One alternative I was thinking of might be rmrf for "remote manifest run features" but this isn't so clear... Your call on changing this of course 😉
- Release Notes would auto-generate an "Experiment" section, so that experiment PRs are separate from the normal release notes.
I like this idea! We can order these notes based on the first matching tag, which might mean forgone enhancement or bug since these find the top of these release notes, but I do think we can keep conventional commit messages to make this clear!
A few other thoughts are in comments below but I'm liking all of the ideas so far and nothing is blocking at all 🚢 💨
Thanks for giving solid thought to how we can improve experiments too. Iterating on these through the eventual conclusion continues to be an interesting exploration, but I'm confident we'll keep improving this!
| * `bolt-install`: enables creating, installing, and running Bolt projects that manage their app manifest on app settings (remote manifest). | ||
| * `read-only-collaborators`: enables creating and modifying collaborator permissions via the `slack collaborator` commands. |
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 like how an overall goal of the experiment is here to start!
One idea is to add sub-bullet points under the experiment in
experiments.mdto document what's available.
This is also a good idea IMO! Were you thinking of these as copied commit messages or more complete blurbs on the change?
You've been writing nice CHANGELOG notes at the top of PRs and I might lean towards matching that here but am also so curious of other thoughts 📚 ✨
| * `bolt-install`: enables creating, installing, and running Bolt projects that manage their app manifest on app settings (remote manifest). | ||
| * `read-only-collaborators`: enables creating and modifying collaborator permissions via the `slack collaborator` commands. |
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.
📝 Keeping all of these notes in experiments.md also might make following changes faster for the wonderful readers.
It's seeming like this experiment will span multiple commands which could be confusing without reading all of the help pages otherwise?
| // BoltFrameworks experiment adds CLI support for Bolt JavaScript & Bolt Python. | ||
| // These frameworks will be introducing remote function support. | ||
| BoltFrameworks = "bolt" | ||
| BoltFrameworks Experiment = "bolt" |
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.
Woah great catch... At first I thought this was an extra space 😴
| ::: | ||
|
|
||
| To run your new app, use the `slack run` command with the experiment flag as follows: | ||
| To run your new app, use the `slack run` command as follows: |
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.
Thanks for reviewing these pages as part of this change 👾 ✨
|
@zimeg Thanks again for the quick review and thoughts! 🙇🏻 I like where we're going with documenting the experiments in
Thanks for sharing how the release notes are generated. If we're matching the first tag, then perhaps we can hold off on adding the "Experiment" category. If we do, we might want it to be a |
CHANGELOG
Summary
This pull request adds the
--experiment bolt-installto begin work on creating, installing, and running Bolt projects that manage their app manifest on app settings (remote manifest).The following changes were made:
BoltInstallexperiment nameBoltFrameworkexperiment asExperimentinstead ofString, causing updates to testsbolt-installto the experiment documentationReviewers
@zimeg @lukegalbraithrussell @technically-tracy How should we document the
--experiment bolt-install?We learned from the
boltexperiment that it was difficult to track changes across multiple releases and especially hard to write a nice "Bolt Support" CHANGELOG when the experiment was removed. I think this is a chance for us to improve, especially since the docs are now part of the repo. A few ideas:experiments.mdto document the new experiment (this PR has done it)experiments.mdis the vision rather than the current state. One idea is to add sub-bullet points under the experiment inexperiments.mdto document what's available. This could become a go-to source for the release that announces the removal of the experiment (e.g. "Bolt Support").Requirements