Skip to content

ci: publish releases using the @slackapi github app token#2560

Merged
zimeg merged 2 commits intomainfrom
ci/publish-with-app-token
Apr 24, 2026
Merged

ci: publish releases using the @slackapi github app token#2560
zimeg merged 2 commits intomainfrom
ci/publish-with-app-token

Conversation

@zimeg
Copy link
Copy Markdown
Member

@zimeg zimeg commented Apr 23, 2026

Summary

  • Adds a Gather credentials step using actions/create-github-app-token to generate an app token for the @slackapi GitHub app
  • Uses the app token for checkout and publishing so GitHub releases are created under the app identity
  • Replaces secrets.GITHUB_TOKEN with the app token in the publish and release details steps

Notes

This mirrors the release process found in bolt-js: slackapi/bolt-js#2883

  • We have a few secrets to add alongside these changes before the next release too 🔏
    • GH_APP_CLIENT_ID
    • GH_APP_PRIVATE_KEY

Requirements

🤖 Generated with Claude Code

Co-Authored-By: Claude svc-devxp-claude@slack-corp.com

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@zimeg zimeg requested a review from a team as a code owner April 23, 2026 19:23
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 23, 2026

⚠️ No Changeset found

Latest commit: 00ff246

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@zimeg zimeg self-assigned this Apr 23, 2026
@zimeg zimeg added github_actions Pull requests that update GitHub Actions code semver:patch labels Apr 23, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.41%. Comparing base (2e0395b) to head (00ff246).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2560   +/-   ##
=======================================
  Coverage   87.41%   87.41%           
=======================================
  Files          62       62           
  Lines       10251    10251           
  Branches      415      415           
=======================================
  Hits         8961     8961           
  Misses       1269     1269           
  Partials       21       21           
Flag Coverage Δ
cli-hooks 87.41% <ø> (ø)
cli-test 87.41% <ø> (ø)
logger 87.41% <ø> (ø)
oauth 87.41% <ø> (ø)
socket-mode 87.41% <ø> (ø)
web-api 87.41% <ø> (ø)
webhook 87.41% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Member Author

@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.

🔭 A note of changes made as token updates are in progress-

Comment on lines 98 to +100
publish: npm run changeset -- publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ steps.credentials.outputs.token }}
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

🪬 note: I'm curious if publishing with changeset and this token shows a "verified" release? Adjacent releases with a more custom script found this difficult-

🔗 https://github.com/slackapi/slack-github-action/releases/tag/v3.0.2

@zimeg
Copy link
Copy Markdown
Member Author

zimeg commented Apr 23, 2026

💾 The credentials have been saved. This should be similar enough to the Bolt for JavaScript release processes at this time so I'll merge this next.

Copy link
Copy Markdown
Contributor

@WilliamBergamin WilliamBergamin left a comment

Choose a reason for hiding this comment

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

Nice work!! 💯

None blocking comment: Could we move Setup Node as the first step in the job 🤔

  1. Setup Node
  2. Gather credentials
  3. Checkout repo
  4. Install dependencies
  5. Build packages
  6. ...

@zimeg
Copy link
Copy Markdown
Member Author

zimeg commented Apr 24, 2026

@WilliamBergamin Thanks so much for encouraging reviews toward these releases 🚀 ✨

Could we move Setup Node as the first step in the job

I'm hesitant to reorder node before checkout since this isn't shown in documentation and the current steps might take advantage of package resolution when the lock file's available but that's not as clear to me:

🔗 https://github.com/actions/setup-node?tab=readme-ov-file

I'll merge this as is but remain curious to finding what works best! 👾

@zimeg zimeg merged commit d5fc190 into main Apr 24, 2026
12 checks passed
@zimeg zimeg deleted the ci/publish-with-app-token branch April 24, 2026 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code semver:patch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants