Skip to content

Migrate AI CHANGELOG entry generation to Copilot CLI - #593

Merged
dblock merged 1 commit into
slack-ruby:masterfrom
dblock:migrate-copilot-cli-provider
Aug 12, 2026
Merged

Migrate AI CHANGELOG entry generation to Copilot CLI#593
dblock merged 1 commit into
slack-ruby:masterfrom
dblock:migrate-copilot-cli-provider

Conversation

@dblock

@dblock dblock commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Problem

GitHub Models (models.github.ai, the backend actions/ai-inference@v1 used for AI CHANGELOG entries in #591) was fully retired on July 30, 2026:

Error: 410 GitHub Models is temporarily unavailable as part of a scheduled retirement brownout.

This is permanent, not a temporary outage — every scheduled update_api.yml run will fail from now on.

Fix

actions/ai-inference was rewritten (v3, released July 29, 2026) to exclusively shell out to the GitHub Copilot CLI instead of calling GitHub Models. This PR updates the workflow accordingly, mirroring the equivalent fix in slack-ruby/slack-api-ref#89:

  • Installs and authenticates the Copilot CLI (npm install -g @github/copilot) before invoking actions/ai-inference@v1, using COPILOT_GITHUB_TOKEN sourced from a new COPILOT_PAT repo secret.
  • Drops the now-unnecessary models: read permission.
  • The v3 action also dropped structured JSON schema output (responseFormat/jsonSchema), so the prompt now asks for a bare JSON object with no markdown fences, and the "Build changelog entries" step strips any ``` fences defensively before parsing with jq.

⚠️ Action required

This requires adding a COPILOT_PAT secret (a PAT for an account with Copilot CLI access) to this repository's Actions secrets for the workflow to actually run. Copilot CLI usage is free for individual accounts (with monthly limits) and open source maintainers can request higher/unlimited access — see https://github.com/features/copilot/plans.

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

Danger Report

No issues found.

View run

GitHub Models (the models.github.ai inference API backing
actions/ai-inference@v1) was fully retired on July 30, 2026:

  Error: 410 GitHub Models is temporarily unavailable as part of a
  scheduled retirement brownout.

actions/ai-inference@v1 has since been rewritten (v3) to exclusively
shell out to the GitHub Copilot CLI instead of calling GitHub Models
directly. Update the workflow to match:

- Install and authenticate the Copilot CLI (npm install -g
  @github/copilot) before invoking actions/ai-inference@v1, using a
  COPILOT_GITHUB_TOKEN sourced from a new COPILOT_PAT repo secret
  (requires a Copilot-enabled account/subscription; free for
  individual/OSS maintainer tiers, but no longer works with the
  default GITHUB_TOKEN).
- Drop the models: read permission, no longer needed.
- The v3 action also dropped structured JSON schema output
  (responseFormat/jsonSchema); the prompt now asks the model to
  return a bare JSON object with no markdown fences, and the
  "Build changelog entries" step strips any ``` fences defensively
  before parsing with jq.

NOTE: requires adding a COPILOT_PAT secret (a PAT for an account
with Copilot CLI access) to this repository's Actions secrets for
the workflow to actually run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dblock
dblock force-pushed the migrate-copilot-cli-provider branch from 4fffbc4 to f680f6b Compare August 12, 2026 01:57
@dblock
dblock merged commit 952a38f into slack-ruby:master Aug 12, 2026
11 checks passed
@dblock
dblock deleted the migrate-copilot-cli-provider branch August 12, 2026 02:00
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 31555298392

Coverage remained the same at 91.055%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 5746
Covered Lines: 5232
Line Coverage: 91.05%
Coverage Strength: 100.24 hits per line

💛 - Coveralls

@dblock

dblock commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator Author

Sanity check: confirmed the pre-Copilot-CLI baseline update_api workflow runs successfully on master: https://github.com/slack-ruby/slack-ruby-client/actions/runs/31555479354/job/93986905749

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants