GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Use `wrapApiConfigurationError` more for `init-action-post` by mbg · Pull Request #4178 · github/codeql-action

Conversation

@mbg

@mbg mbg commented Sep 25, 2026

Copy link
Copy Markdown
Member

This PR adds wrapApiConfigurationError handling to the general exception handler for the init-action-post step. Also includes some related, minor improvements.

Risk assessment

For internal use only. Please select the risk level of this change:

  • Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only.

Which use cases does this change impact?

Workflow types:

  • Advanced setup - Impacts users who have custom CodeQL workflows.
  • Managed - Impacts users with dynamic workflows (Default Setup, Code Quality, ...).

Products:

  • Code Scanning - The changes impact analyses when analysis-kinds: code-scanning.
  • Code Quality - The changes impact analyses when analysis-kinds: code-quality.
  • Other first-party - The changes impact other first-party analyses.
  • Third-party analyses - The changes affect the upload-sarif action.

Environments:

  • Dotcom - Impacts CodeQL workflows on github.com and/or GitHub Enterprise Cloud with Data Residency.
  • GHES - Impacts CodeQL workflows on GitHub Enterprise Server.

How did/will you validate this change?

  • Unit tests - I am depending on unit test coverage (i.e. tests in .test.ts files).
  • End-to-end tests - I am depending on PR checks (i.e. tests in pr-checks).

If something goes wrong after this change is released, what are the mitigation and rollback strategies?

  • Rollback - Change can only be disabled by rolling back the release or releasing a new version with a fix.

How will you know if something goes wrong after this change is released?

  • Telemetry - I rely on existing telemetry or have made changes to the telemetry.
    • Dashboards - I will watch relevant dashboards for issues after the release. Consider whether this requires this change to be released at a particular time rather than as part of a regular release.
    • Alerts - New or existing monitors will trip if something goes wrong with this change.

Are there any special considerations for merging or releasing this change?

  • No special considerations - This change can be merged at any time.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Consider adding a changelog entry for this change.
  • Confirm the readme and docs have been updated if necessary.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
mbg added 4 commits September 25, 2026 18:12
@mbg
Improve return type for wrapApiConfigurationError and add docs
8102666
@mbg
Use wrapApiConfigurationError for getGitHubVersionFromApi
8dfe937
@mbg
Use gitHubVersion from config if available in init-action-post
0af3281
@mbg
Use wrapApiConfigurationError in init-action-post error handler
1991d20
@mbg
mbg requested a review from a team as a code owner September 25, 2026 17:23
Copilot AI balanced review requested due to automatic review settings September 25, 2026 17:23
@github-actions github-actions Bot added the size/XS Should be very easy to review label Sep 25, 2026
Copilot started reviewing on behalf of mbg September 25, 2026 17:24
View session
Copilot AI reviewed Sep 25, 2026
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Warning

  • Copilot's review of this pull request may be incomplete because some of the changed files are excluded by your Copilot content exclusion settings. See Excluding content from Copilot for details.

Copilot review overview

🟡 Changes recommended

The newly added API rejection behavior lacks direct unit coverage.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 Low severity

Open (1)
  • Low severity Add rejection-path test for getGitHubVersionFromApi · New
What changed in this PR

Improves configuration-error classification during init-action-post.

Changes:

  • Reuses the saved GitHub version when available.
  • Wraps known API failures as configuration errors.
  • Documents and types the error wrapper.
File Description
src/​init-action-post.ts Reuses configuration and classifies API errors.
src/​api-client.ts Wraps GitHub version API failures.
lib/​entry-points.js Generated, excluded file; not reviewed.
Files excluded by content exclusion policy (1)
  • lib/entry-points.js

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread src/api-client.ts Resolved

Uh oh!

There was an error while loading. Please reload this page.

mario-campos
mario-campos previously approved these changes Sep 25, 2026
View reviewed changes
mbg added 3 commits September 28, 2026 10:11
@mbg
Change wrapApiConfigurationError to not be serial
31252c2
@mbg
Break up wrapApiConfigurationError tests
260cb2a
@mbg
Add test for repeated wrapApiConfigurationError
503e2f6
@mbg
mbg dismissed mario-campos’s stale review via 503e2f6 September 28, 2026 09:42
@github-actions github-actions Bot added size/M Should be of average difficulty to review and removed size/XS Should be very easy to review labels Sep 28, 2026
@mbg
mbg requested a review from mario-campos September 28, 2026 09:43
@mbg

mbg commented Sep 28, 2026

Copy link
Copy Markdown
Member Author

@mario-campos I pushed three more commits here. The first two just refactor the existing tests for wrapApiConfigurationError and don't change them. The third adds one additional test to check that wrapApiConfigurationError(wrapApiConfigurationError(err)) == wrapApiConfigurationError(err), i.e. it doesn't double-wrap errors. I wanted to make sure that the added wrapApiConfigurationError call in the error handler in run doesn't accidentally break the case where the caught "unwrappedError" was already run through wrapApiConfigurationError previously.

mario-campos reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

mario-campos
mario-campos approved these changes Sep 28, 2026
View reviewed changes

@mario-campos mario-campos left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Makes sense 👍

One minor suggestion: I don't see a test for the wrapApiConfigurationError fallback/identity path (i.e. the one in which you pass a non-error value and it is returned). If it already exists and I just missed it, feel free to ignore.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mbg
mbg added this pull request to the merge queue Sep 28, 2026
@mbg

mbg commented Sep 28, 2026

Copy link
Copy Markdown
Member Author

I don't see a test for the wrapApiConfigurationError fallback/identity path (i.e. the one in which you pass a non-error value and it is returned).

@mario-campos Several of the tests for wrapApiConfigurationError exercise this. For example, while the "wrapApiConfigurationError doesn't wrap errors it isn't supposed to" test talks about "errors", anything that is passed into wrapApiConfigurationError that isn't like a HTTPError goes through the fallback/identity path. See the t.is assertions that check that result of wrapApiConfigurationError matches what we provided as argument (by object identity).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Merged via the queue into main with commit 85c0c09 Sep 28, 2026
233 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@mbg
mbg deleted the mbg/use-api-error-classification-more branch September 28, 2026 15:40
This was referenced Oct 8, 2026
Merge main into releases/v4 #4214
Merged
Merge releases/v4 into releases/v3 #4216
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

Copilot code review Copilot
Copilot review effort
Applies to this pull request for everyone.Learn more about Copilot code review.
Copilot left review comments
@mario-campos mario-campos mario-campos approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

size/M Should be of average difficulty to review

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@mbg @mario-campos
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.