Skip to content

Convert update-supported-enterprise-server-versions script to TypeScript#3916

Open
mbg wants to merge 15 commits into
mainfrom
mbg/ts/update-ghes-versions
Open

Convert update-supported-enterprise-server-versions script to TypeScript#3916
mbg wants to merge 15 commits into
mainfrom
mbg/ts/update-ghes-versions

Conversation

@mbg
Copy link
Copy Markdown
Member

@mbg mbg commented May 19, 2026

Converts the Python code in .github/workflows/update-supported-enterprise-server-versions to TypeScript in pr-checks.

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?

Environments:

  • Testing/None - This change does not impact any CodeQL workflows in production.

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?

  • Development/testing only - This change cannot cause any failures in production.

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

  • Other - Please provide details.

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.

@mbg mbg self-assigned this May 19, 2026
@github-actions github-actions Bot added the size/L May be hard to review label May 19, 2026
@mbg mbg marked this pull request as ready for review May 19, 2026 13:15
@mbg mbg requested a review from a team as a code owner May 19, 2026 13:15
Copilot AI review requested due to automatic review settings May 19, 2026 13:15
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 replaces the existing Python automation under .github/workflows/update-supported-enterprise-server-versions/ with a TypeScript implementation under pr-checks/, and updates the scheduled workflow to run the new script via Node/tsx.

Changes:

  • Add pr-checks/update-ghes-versions.ts (plus unit tests) to compute and update src/api-compatibility.json from an enterprise-releases checkout.
  • Update .github/workflows/update-supported-enterprise-server-versions.yml to run the TypeScript script (Node 24 + npm ci) instead of Python/pipenv.
  • Remove the old Python script and Pipenv files; add semver dependency to the pr-checks workspace (and update the root lockfile).
Show a summary per file
File Description
pr-checks/update-ghes-versions.ts New TS implementation for determining supported GHES version range and updating src/api-compatibility.json.
pr-checks/update-ghes-versions.test.ts Unit tests for the new TS script logic (parsing, date helpers, range selection).
pr-checks/package.json Adds semver dependency for the new script.
pr-checks/config.ts Exposes API_COMPATIBILITY_FILE path for use by the new script.
.github/workflows/update-supported-enterprise-server-versions.yml Switches workflow execution from Python to Node/TypeScript and rebuilds after updating compatibility data.
.github/workflows/update-supported-enterprise-server-versions/update.py Removes the previous Python implementation.
.github/workflows/update-supported-enterprise-server-versions/Pipfile Removes Pipenv configuration no longer needed.
.github/workflows/update-supported-enterprise-server-versions/Pipfile.lock Removes Pipenv lockfile no longer needed.
package-lock.json Updates workspace dependency graph (including semver resolution).
lib/upload-lib.js Generated artifact update due to dependency graph changes (not reviewed).
lib/entry-points.js Generated artifact update due to dependency graph changes (not reviewed).

Copilot's findings

  • Files reviewed: 7/11 changed files
  • Comments generated: 5

Comment thread pr-checks/update-ghes-versions.ts
Comment thread pr-checks/update-ghes-versions.ts Outdated
Comment thread pr-checks/update-ghes-versions.ts
Comment thread pr-checks/package.json
Comment thread .github/workflows/update-supported-enterprise-server-versions.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L May be hard to review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants