Skip to content

Add .github/releases.json with release channels and update install.sh with channel-based version resolution#20688

Closed
Copilot wants to merge 3 commits intomainfrom
copilot/add-releases-json-configuration
Closed

Add .github/releases.json with release channels and update install.sh with channel-based version resolution#20688
Copilot wants to merge 3 commits intomainfrom
copilot/add-releases-json-configuration

Conversation

Copy link
Contributor

Copilot AI commented Mar 12, 2026

Introduces a top-level release configuration file at .github/releases.json and updates the install script to resolve versions from named channels instead of always defaulting to latest.

.github/releases.json

Defines named release channels, each with a pinned version and per-engine metadata:

{
  "channels": {
    "stable": { "version": "v0.57.2", "engines": { "copilot": "latest" } },
    "latest": { "version": "latest",  "engines": { "copilot": "latest" } }
  }
}

install-gh-aw.sh / actions/setup-cli/install.sh

  • New resolve_channel_version() — fetches .github/releases.json from raw.githubusercontent.com (no auth token required) and extracts the version for a named channel. Resolves with jq, falls back to python3/python, then grep/awk.
  • Default changed from lateststable channel (resolved via releases.json at install time).
  • Semver passthrough — arguments matching ^v[0-9]+\.[0-9]+\.[0-9]+ (including pre-release suffixes) bypass channel resolution and download directly.
  • Channel passthrough — any non-semver argument (e.g. stable, latest) is resolved via releases.json; falls back to using the value as-is if resolution fails.
./install-gh-aw.sh            # resolves "stable" channel → v0.57.2
./install-gh-aw.sh latest     # resolves "latest" channel → GitHub latest release
./install-gh-aw.sh v0.39.0    # semver: downloads directly, no JSON lookup
Original prompt

Create a top level file called ".github/releases.json" that contains global configurations for all agentic workflows runners.

The file contains a field "channels" that represents release channels.

{ channels: [name: string] : { version: ..., engines: { copilot: ... } }

  • define a stable channel that points to the current release tag
  • define a latest channel that points to the "latest" release

Each channel should have also additional optimal information, in particular the version of each agentic engine.

Update the install.sh script to support resolving this file (from raw URL, no token) then use the information to resolve the correct release number. By default, it resolves "stable" channel.

Install.sh should try to download the release directly if it is a semver version, other it can try to get the channel from the config file.


💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

…rsion resolution

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Add global configurations for agentic workflows runners Add .github/releases.json with release channels and update install.sh with channel-based version resolution Mar 12, 2026
@pelikhan
Copy link
Contributor

@copilot stable is v0.57.2

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

Copilot AI commented Mar 12, 2026

@copilot stable is v0.57.2

Updated in 3e7f72f.

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