Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 28, 2026

All agentic workflows were configured to use GitHub App authentication for both tools.github and safe-outputs. This removes App authentication from tools.github to use the standard GitHub token authentication mechanism for MCP tools, while keeping App authentication for safe-outputs operations.

Changes

  • Workflow configuration (10 files): Removed app: sections containing app-id and private-key from tools.github: configurations only
  • Safe-outputs authentication: Kept app: authentication in safe-outputs: for safe-output operations
  • Lock files: Recompiled all workflows to generate updated .lock.yml files

Before/After

# Before
safe-outputs:
  app:
    app-id: ${{ vars.APP_ID }}
    private-key: ${{ secrets.APP_PRIVATE_KEY }}
  create-discussion:

tools:
  github:
    app:
      app-id: ${{ vars.APP_ID }}
      private-key: ${{ secrets.APP_PRIVATE_KEY }}
    toolsets: [all]

# After
safe-outputs:
  app:
    app-id: ${{ vars.APP_ID }}
    private-key: ${{ secrets.APP_PRIVATE_KEY }}
  create-discussion:

tools:
  github:
    toolsets: [all]

Technical Impact

  • Safe-outputs jobs: Continue using GitHub App credentials for write operations
  • GitHub MCP tools: Now use GITHUB_MCP_SERVER_TOKEN which falls back to GITHUB_TOKEN
  • Lock files show App credentials retained for safe-outputs jobs
  • Lock files show token fallback chain for GitHub MCP server: GH_AW_GITHUB_MCP_SERVER_TOKEN || GH_AW_GITHUB_TOKEN || GITHUB_TOKEN

Custom agent used: agentic-workflows
GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing

Original prompt

Update all agentic workflows to no longer use tools.github.app. It should be removed, which will ensure it uses the github token instead

Custom agent used: agentic-workflows
GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

- Remove app authentication from safe-outputs in all 10 workflows
- Remove app authentication from tools.github in all 10 workflows
- Recompile all workflows to generate updated lock files
- Workflows now use default GITHUB_TOKEN instead of GitHub App

Co-authored-by: devantler <26203420+devantler@users.noreply.github.com>
Copilot AI changed the title [WIP] Update agentic workflows to use github token Remove GitHub App authentication from agentic workflows Jan 28, 2026
Copilot AI requested a review from devantler January 28, 2026 23:55
@devantler
Copy link
Collaborator

@copilot you were not supposed to remove app auth from safe outputs! Remember to recompile

- Add back app: section to safe-outputs in all 10 workflows
- Keep tools.github without app authentication (use GitHub token)
- Recompile all workflows with corrected configuration

Co-authored-by: devantler <26203420+devantler@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 29, 2026

@copilot you were not supposed to remove app auth from safe outputs! Remember to recompile

Fixed in commit 1fa3dcc. Restored app: authentication in safe-outputs: for all workflows while keeping it removed from tools.github: so GitHub MCP tools use the token instead.

Copilot AI changed the title Remove GitHub App authentication from agentic workflows Remove GitHub App authentication from tools.github in agentic workflows Jan 29, 2026
@devantler devantler marked this pull request as ready for review January 29, 2026 00:04
Copilot AI review requested due to automatic review settings January 29, 2026 00:04
@devantler devantler merged commit a779058 into main Jan 29, 2026
8 checks passed
@devantler devantler deleted the copilot/remove-tools-github-app branch January 29, 2026 00:05
@github-project-automation github-project-automation bot moved this from 🏃🏻‍♂️ In Progress to ✅ Done in 🌊 Project Board Jan 29, 2026
Copy link
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 repository’s agentic workflows to stop using GitHub App authentication for tools.github, switching those MCP tool calls back to token-based auth while retaining GitHub App auth for safe-outputs.

Changes:

  • Removed tools.github.app configuration blocks from agentic workflow source (.md) files.
  • Recompiled workflows to update generated .lock.yml files (including removing the GitHub App token generation/invalidation steps for the GitHub MCP server).
  • Updated GitHub MCP server token wiring to use the standard token fallback chain.

Reviewed changes

Copilot reviewed 20 out of 21 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.github/workflows/weekly-research.md Removes GitHub App auth from tools.github while keeping safe-outputs app auth.
.github/workflows/weekly-research.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/update-docs.md Removes GitHub App auth from tools.github.
.github/workflows/update-docs.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/pr-fix.md Removes GitHub App auth from tools.github.
.github/workflows/pr-fix.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/issue-triage.md Removes GitHub App auth from tools.github.
.github/workflows/issue-triage.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/daily-test-improver.md Removes GitHub App auth from tools.github.
.github/workflows/daily-test-improver.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/daily-qa.md Removes GitHub App auth from tools.github.
.github/workflows/daily-qa.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/daily-progress.md Removes GitHub App auth from tools.github.
.github/workflows/daily-progress.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/daily-perf-improver.md Removes GitHub App auth from tools.github.
.github/workflows/daily-perf-improver.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/ci-doctor.md Removes GitHub App auth from tools.github.
.github/workflows/ci-doctor.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/audit-workflows.md Removes GitHub App auth from tools.github.
.github/workflows/audit-workflows.lock.yml Regenerated lockfile reflecting token-based GitHub MCP auth and removal of MCP app-token steps.
.github/workflows/agentics-maintenance.yml Regenerated formatting/comments as part of workflow compilation/maintenance.
Comments suppressed due to low confidence (10)

.github/workflows/daily-perf-improver.lock.yml:895

  • The redaction step removed APP_PRIVATE_KEY from GH_AW_SECRET_NAMES, but this workflow still uses secrets.APP_PRIVATE_KEY for safe-outputs GitHub App auth. Add APP_PRIVATE_KEY back and pass SECRET_APP_PRIVATE_KEY so redaction can scrub it from any collected artifacts/logs.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/ci-doctor.lock.yml:927

  • The secret redaction configuration no longer includes APP_PRIVATE_KEY, but the workflow still uses secrets.APP_PRIVATE_KEY for safe-outputs app authentication. Add APP_PRIVATE_KEY back to GH_AW_SECRET_NAMES and provide SECRET_APP_PRIVATE_KEY so redaction can sanitize artifacts/logs.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/update-docs.lock.yml:761

  • The secret redaction step no longer includes APP_PRIVATE_KEY, but this workflow still uses secrets.APP_PRIVATE_KEY for safe-outputs GitHub App auth. Add APP_PRIVATE_KEY back to GH_AW_SECRET_NAMES and include SECRET_APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} so artifacts/logs are properly sanitized.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/daily-test-improver.lock.yml:946

  • The redaction step no longer includes APP_PRIVATE_KEY, but safe-outputs in this workflow still relies on secrets.APP_PRIVATE_KEY. Add APP_PRIVATE_KEY back to GH_AW_SECRET_NAMES and provide SECRET_APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} so the redaction script can remove it from any collected artifacts/logs.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/daily-qa.lock.yml:774

  • The secret redaction configuration dropped APP_PRIVATE_KEY, but safe-outputs for this workflow still uses secrets.APP_PRIVATE_KEY. Re-add APP_PRIVATE_KEY to GH_AW_SECRET_NAMES and pass SECRET_APP_PRIVATE_KEY so the redaction script can sanitize artifacts/logs if the key is ever written.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/daily-progress.lock.yml:831

  • APP_PRIVATE_KEY was removed from the redaction configuration even though this workflow still uses secrets.APP_PRIVATE_KEY for safe-outputs app auth. Add it back to GH_AW_SECRET_NAMES and include SECRET_APP_PRIVATE_KEY so redaction can sanitize any collected logs/artifacts.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/audit-workflows.lock.yml:943

  • APP_PRIVATE_KEY was removed from the redaction configuration, but safe-outputs still uses secrets.APP_PRIVATE_KEY in this workflow. Add APP_PRIVATE_KEY back to GH_AW_SECRET_NAMES and include SECRET_APP_PRIVATE_KEY so the redaction script can scrub it from collected logs/artifacts.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/weekly-research.lock.yml:664

  • The secret redaction step no longer includes APP_PRIVATE_KEY, but this workflow still configures safe-outputs.app.private-key with secrets.APP_PRIVATE_KEY. To avoid leaking the GitHub App private key into collected artifacts/logs, add APP_PRIVATE_KEY back to GH_AW_SECRET_NAMES and pass its value (e.g., SECRET_APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}) so the redaction script can scan/redact it.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/pr-fix.lock.yml:834

  • The secret redaction step removed APP_PRIVATE_KEY from GH_AW_SECRET_NAMES, but the workflow still uses secrets.APP_PRIVATE_KEY for safe-outputs app authentication. Add it back and provide SECRET_APP_PRIVATE_KEY so redaction can remove it from collected logs/artifacts if it appears.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/issue-triage.lock.yml:724

  • APP_PRIVATE_KEY was removed from the redaction configuration, but this workflow still consumes secrets.APP_PRIVATE_KEY for safe-outputs GitHub App auth. Add APP_PRIVATE_KEY back to GH_AW_SECRET_NAMES and pass SECRET_APP_PRIVATE_KEY so redaction can sanitize artifacts/logs.
          GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
          SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
          SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
          SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
          SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants