Mint the release token with client-id, not the deprecated app-id - #73
Merged
Conversation
actions/create-github-app-token marks app-id deprecated in its action.yml, so every run of this workflow emits an annotation. Waiting for a major that drops it would surface the break at the next release: the workflow only runs on push to main, so a Dependabot bump would merge green. The APP_CLIENT_ID repository variable holds the same App's Client ID and the private key is unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
actions/create-github-app-tokendeclaresapp-idas a formal deprecation in itsaction.yml—deprecationMessage: "Use 'client-id' instead."— so every run of this workflow emits an annotation. The step carried a comment saying the input stayed on purpose, but that reasoning was migration cost (the App and theAPP_IDvariable already existed), not design: with nothing to preserve, nothing argues for a deprecated input over the current one.The reason to move now rather than when it breaks is when a removal would surface. This workflow only runs on
pushtomain, so a Dependabot pull request bumping the action to a major that droppedapp-idwould run CI that never exercises it, merge green, and fail at the next release — with the tag already pushed and the least room to debug..github/dependabot.ymlruns thegithub-actionsecosystem weekly, so that pull request arrives on its own.This is also a repair, not only an annotation cleanup. Both of the issue's manual steps are already done, ahead of what it assumed:
APP_CLIENT_IDis set andAPP_IDhas been deleted. Somaincurrently passes an emptyapp-id, and its next run — before this merges — would fail to mint a token. No run has happened since the variable was swapped, so nothing has failed yet.What
One hunk in
.github/workflows/release.yml:app-id: ${{ vars.APP_ID }}→client-id: ${{ vars.APP_CLIENT_ID }}private-keyis unchanged: the key is the same and the App does not need recreating.ownerandrepositoriesalready read from the workflow context, so the file stays copyable to the sibling CLIs unedited.Verification
This workflow cannot run on a pull request, so what is checkable here is limited:
actions/create-github-app-token@v3'saction.ymlacceptsclient-id(required: false), fetched and confirmed at that refgh variable list -R 178inaba/rdshshowsAPP_CLIENT_IDholding theIv23li…Client ID — not the numeric App ID — and noAPP_IDgo test -race ./...and thelintcompose service both pass;yqparses the edited stepThe issue's acceptance criteria — no deprecation annotation, tagpr still opening the release pull request as the App with a CI run and no manual approval — can only be observed on the first push to
mainafter this merges.Out of scope
178inaba/cfliostill readsvars.APP_IDwhile its only repository variable isAPP_CLIENT_ID, so its release workflow has the same gap. That migration is tracked in 178inaba/cflio#62.Closes #70