Skip to content

feat: add client-id input and deprecate app-id#353

Merged
parkerbxyz merged 13 commits intomainfrom
copilot/v3-breaking-changes-tracking
Apr 11, 2026
Merged

feat: add client-id input and deprecate app-id#353
parkerbxyz merged 13 commits intomainfrom
copilot/v3-breaking-changes-tracking

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 18, 2026

GitHub now recommends using a GitHub App's Client ID for authentication. This PR adds a first-class client-id input, keeps app-id available for compatibility, and makes the migration path explicit in both runtime behavior and documentation.

Action inputs

  • Adds a new client-id input
  • Removes required from app-id
  • Marks app-id as deprecated in action.yml

Runtime behavior

  • Updates input parsing to prefer client-id
  • Falls back to app-id for existing workflows
  • Adds a clear error when neither client-id nor app-id is provided

Docs

  • Updates the README to recommend client-id
  • Switches usage examples to client-id
  • Documents that app-id is deprecated and that client-id takes precedence if both are set

Regression coverage

  • Adds a focused test proving a client-ID-shaped value works through the new client-id input
  • Adds coverage for the missing-ID validation path
  • Updates snapshots to lock in the new metadata and runtime behavior

Resulting usage

Users can migrate to the new input name directly:

- uses: actions/create-github-app-token@v3
  with:
    client-id: ${{ vars.GITHUB_APP_CLIENT_ID }}
    private-key: ${{ secrets.GITHUB_APP_PRIVATE_KEY }}

Co-authored-by: parkerbxyz <17183625+parkerbxyz@users.noreply.github.com>
Copilot AI changed the title [WIP] [TRACK-001] Track v3 breaking changes Document client ID support on the existing app-id input Mar 18, 2026
Copilot AI requested a review from parkerbxyz March 18, 2026 20:15
@parkerbxyz
Copy link
Copy Markdown
Contributor

@copilot Let's also add a new client-id input, remove required from app-id, and mark app-id as deprecated.

Co-authored-by: parkerbxyz <17183625+parkerbxyz@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 18, 2026

@copilot Let's also add a new client-id input, remove required from app-id, and mark app-id as deprecated.

Implemented in 37f42c5: added client-id, made app-id non-required with a deprecation message, updated runtime handling/docs, and added focused tests for the new input path and missing-ID validation.

Copilot AI changed the title Document client ID support on the existing app-id input Add client-id input and deprecate app-id Mar 18, 2026
Comment thread main.js Outdated
parkerbxyz and others added 2 commits March 19, 2026 23:05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Override console.error to log only the error message (not the full
stack trace) in main-missing-client-and-app-id.test.js. The stack
trace contains environment-specific paths and ANSI codes that differ
between local and CI environments, causing snapshot mismatches.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@parkerbxyz parkerbxyz requested review from Copilot and removed request for parkerbxyz March 20, 2026 06:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the action to support GitHub App authentication via a new client-id input while keeping app-id for backwards compatibility (now deprecated), and makes the runtime + docs prefer client-id.

Changes:

  • Add client-id input, deprecate app-id, and update action metadata accordingly.
  • Update runtime input parsing to prefer client-id, fallback to app-id, and error when neither is set.
  • Update README and add/adjust tests + snapshots to cover the new input and missing-ID validation.

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/main-missing-client-and-app-id.test.js Adds coverage for the new “neither ID provided” failure path and snapshots its output.
tests/main-client-id.test.js Adds a regression test ensuring a client-ID-shaped value works via client-id.
tests/index.js.snapshot Updates snapshots to capture new stdout/stderr behavior and deprecated-input output.
tests/README.md Updates test-writing guidance to point to the new missing-ID test as the “expected error” template.
main.js Prefers client-id over app-id and adds explicit validation when neither is provided.
lib/main.js Renames the first parameter to clientId and wires it into auth creation.
dist/main.cjs Rebuild output reflecting the new input parsing and renamed parameter.
action.yml Adds client-id, makes app-id optional, and marks app-id deprecated via deprecationMessage.
README.md Updates docs and examples to recommend client-id, and documents precedence + deprecation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread main.js
Comment thread lib/main.js
Comment thread lib/main.js
@parkerbxyz parkerbxyz marked this pull request as ready for review April 10, 2026 23:27
@parkerbxyz parkerbxyz requested a review from a team as a code owner April 10, 2026 23:27
@parkerbxyz parkerbxyz requested a review from Copilot April 10, 2026 23:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the action to support GitHub App Client ID as a first-class input (client-id), while keeping app-id as a deprecated fallback for backwards compatibility.

Changes:

  • Adds client-id to action.yml, marks app-id as optional + deprecated, and updates runtime input parsing to prefer client-id.
  • Updates docs and usage examples to recommend client-id and describe precedence/validation behavior.
  • Adds regression tests for the new input and the “missing both IDs” error path, updating snapshots accordingly.
Show a summary per file
File Description
action.yml Adds client-id, deprecates and un-requires app-id.
main.js Prefers client-id, falls back to app-id, errors if neither provided.
lib/main.js Renames the identifier parameter and wires it into createAppAuth.
dist/main.cjs Bundled output reflecting the input and auth changes.
README.md Updates recommended configuration and examples to use client-id.
tests/main-client-id.test.js Adds coverage that client-id input flows through execution.
tests/main-missing-client-and-app-id.test.js Adds coverage for the missing-ID validation/error behavior.
tests/index.js.snapshot Updates snapshots for new tests and deprecation output.
tests/README.md Updates guidance to point to the new “expected error” test.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 8/9 changed files
  • Comments generated: 1

Comment thread tests/README.md Outdated
@paulchen5
Copy link
Copy Markdown

Is there an official documentation inside the GitHub docs that you should use the client ID now?

For now I just see the example with an app id: https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow

Wuodan added a commit to Wuodan/bulk-github-repo-settings-sync-action-live-tests that referenced this pull request Apr 18, 2026
Fixes:
Warning: Input 'app-id' has been deprecated with message: Use 'client-id' instead.

See actions/create-github-app-token#353
Wuodan added a commit to Wuodan/bulk-github-repo-settings-sync-action-live-tests that referenced this pull request Apr 18, 2026
Fixes:
Warning: Input 'app-id' has been deprecated with message: Use 'client-id' instead.

See actions/create-github-app-token#353
Wuodan added a commit to Wuodan/bulk-github-repo-settings-sync-action-live-tests that referenced this pull request Apr 18, 2026
Fixes:
Warning: Input 'app-id' has been deprecated with message: Use 'client-id' instead.

See actions/create-github-app-token#353
Wuodan added a commit to Wuodan/bulk-github-repo-settings-sync-action-live-tests that referenced this pull request Apr 18, 2026
Fixes:
Warning: Input 'app-id' has been deprecated with message: Use 'client-id' instead.

See actions/create-github-app-token#353
Wuodan added a commit to Wuodan/bulk-github-repo-settings-sync-action-live-tests that referenced this pull request Apr 18, 2026
Fixes:
Warning: Input 'app-id' has been deprecated with message: Use 'client-id' instead.

See actions/create-github-app-token#353
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rename app-id input to client-id or app-client-id

5 participants