Skip to content

Conversation

@mwbrooks
Copy link
Member

CHANGELOG

Support creating, installing, and running Bolt projects that manage their app manifest on "app settings" (remote manifest). New Bolt projects are now configured to have apps managed by "app settings" instead of "project." When running a project for local development, the app token and bot token are automatically set and no longer requires developers to export the tokens as environment variables. Existing Bolt projects will continue to work with a "project" (local) manifest and linking an app from app settings will configured the project to be managed by "app settings" (remote manifest). In an upcoming release, support for installing deploying apps managed by "app settings" will be implemented.

Summary

This pull request enables the --experiment bolt-install by default.

Requirements

@mwbrooks mwbrooks added this to the Next Release milestone May 30, 2025
@mwbrooks mwbrooks self-assigned this May 30, 2025
@mwbrooks mwbrooks added enhancement M-T: A feature request for new functionality changelog Use on updates to be included in the release notes experiment Experimental feature accessed behind the --experiment flag or toggle semver:minor Use on pull requests to describe the release version increment labels May 30, 2025
@codecov
Copy link

codecov bot commented May 30, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 63.47%. Comparing base (11ef1dc) to head (87576d8).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #112      +/-   ##
==========================================
+ Coverage   63.46%   63.47%   +0.01%     
==========================================
  Files         212      212              
  Lines       22335    22336       +1     
==========================================
+ Hits        14174    14178       +4     
+ Misses       7070     7068       -2     
+ Partials     1091     1090       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member Author

@mwbrooks mwbrooks left a 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 explain the - otherwise random - changes in this PR 😅

mockAPICreateError: slackerror.New(slackerror.ErrAppCreate),
mockAPIUpdateError: slackerror.New(slackerror.ErrAppAdd),
mockBoltExperiment: true,
mockBoltInstallExperiment: false,
Copy link
Member Author

Choose a reason for hiding this comment

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

note: When turning the experiment on by default, this test failed because we hadn't explicitly disabled the experiment. In the test's title, we mention that this test case is when bolt-install is disabled.

Comment on lines +470 to +474
if clients.Runtime != nil {
isDenoProject := strings.Contains(strings.ToLower(clients.Runtime.Name()), "deno")
if !isDenoProject {
manifestSource = config.ManifestSourceRemote
}
Copy link
Member Author

Choose a reason for hiding this comment

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

note: When enabling the bolt-install experiment by default, a test failed due to a nil pointer reference. The default value for manifestSource is local and is set a few lines up. So when the clients.Runtime == nil, I think we can safely let he manifestSource = config.ManifestSourceLocal.

@mwbrooks mwbrooks marked this pull request as ready for review May 30, 2025 14:38
@mwbrooks mwbrooks requested review from a team as code owners May 30, 2025 14:38
Copy link
Member

@zimeg zimeg left a comment

Choose a reason for hiding this comment

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

LGTM! The changelog notes are all solid for sharing the current scope of what to expect with the local run 🚢 💨

No edges noticed are so blocking to me, but I hope to follow up with a few changes also for improved error handling in ideas of an invisible manifest source 👻

@mwbrooks
Copy link
Member Author

No edges noticed are so blocking to me, but I hope to follow up with a few changes also for improved error handling in ideas of an invisible manifest source 👻

Yesssss, 💯 Let's do it!

@mwbrooks mwbrooks merged commit e43e865 into main May 30, 2025
7 checks passed
@mwbrooks mwbrooks deleted the mwbrooks-bolt-install-enable-default branch May 30, 2025 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog Use on updates to be included in the release notes enhancement M-T: A feature request for new functionality experiment Experimental feature accessed behind the --experiment flag or toggle semver:minor Use on pull requests to describe the release version increment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants