Skip to content

Add stable/latest version aliases to install-gh-aw.sh and upgrade command#23469

Draft
Copilot wants to merge 4 commits intomainfrom
copilot/update-gh-aw-install-script
Draft

Add stable/latest version aliases to install-gh-aw.sh and upgrade command#23469
Copilot wants to merge 4 commits intomainfrom
copilot/update-gh-aw-install-script

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 29, 2026

Adds stable and latest release channel support to both the install script and the upgrade command.

Version Aliases

  • stable (new default) – resolves to the highest release in the previous minor version band relative to the latest release.
    Example: if the latest is v0.2.2 and releases include v0.1.10, stable resolves to v0.1.10.
  • latest – the most recent release.

Changes

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

  • Updated header comments and examples to document the two aliases and the new default.
  • Added resolve_stable_version() function that:
    • Fetches all releases from the GitHub API (/releases?per_page=100).
    • Parses version tags using jq when available, with a portable grep/sed fallback that also filters out pre-release tags (v1.0.0-rc.1, etc.) via a strict semver regex.
    • Finds the numerically highest (latest) version, then locates the highest patch release in the previous minor band.
    • Falls back to latest when the latest is already a v{major}.0.x release or when no releases exist in the previous minor band.
  • Changed default VERSION from "latest" to "stable".
  • Added a stable-resolution step (API call) that fires before the gh extension install attempt and the download URL construction, converting stable to a concrete version tag.

scripts/test-install-script.sh

  • Renamed Test 11 to cover both default (stable) and latest URL alias checks.
  • Added Test 12 verifying presence and keywords of resolve_stable_version.
  • Added Test 12b with four inline algorithm tests (no live API call):
    • Standard case: v0.2.2 latest → v0.1.10 stable
    • No previous minor band (e.g. v1.0.x only) → falls back to latest
    • Empty previous minor band (gap in releases) → falls back to latest
    • Highest patch selection within a band (e.g. v2.0.5 from v2.0.1, v2.0.3, v2.0.5)

pkg/cli/upgrade_command.go

  • Added --channel flag (accepts stable or latest, default stable) to the upgrade command.
  • Added Channel string to UpgradeConfig.
  • Updated long help text with a RELEASE CHANNEL section and --channel usage examples.

pkg/cli/update_extension_check.go

  • Updated upgradeExtensionIfOutdated to accept a channel parameter.
  • For stable channel: resolves via getStableRelease() and installs with gh extension install --force --pin VERSION.
  • For latest channel: resolves via getLatestRelease() and installs with gh extension upgrade (existing behaviour).
  • Added buildExtensionInstallCommand() helper to select the correct gh subcommand per channel.

pkg/cli/update_check.go

  • Added Prerelease and Draft fields to the Release struct for accurate filtering.
  • Added getStableRelease() function implementing the same algorithm as the shell script.

📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Copilot AI and others added 2 commits March 29, 2026 15:07
- Add resolve_stable_version() function that fetches all releases via the GitHub
  API and returns the highest release in the previous minor version band
  (e.g. v0.1.10 when the latest is v0.2.2)
- Change default version alias from 'latest' to 'stable'
- Stable resolution falls back to 'latest' when no previous minor band exists or
  contains no releases
- Supports jq for parsing and falls back to grep/sed for portability
- Update test script: rename Test 11, add Test 12 with inline algorithm tests
  covering standard, fallback, and highest-patch-selection cases"

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/770feefe-a50d-48b9-b307-3968176421e6

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…ing, and test duplication rationale

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/770feefe-a50d-48b9-b307-3968176421e6

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

@copilot Update the "upgrade" to support this scheme. Upgrade should take optionally the release channel. Default is stable

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot also look at upgrade command

- Add getStableRelease() to update_check.go that resolves the highest release
  in the previous minor version band (e.g. v0.1.10 when latest is v0.2.2)
- Add Prerelease and Draft fields to Release struct for proper filtering
- Update upgradeExtensionIfOutdated to accept a channel parameter ('stable'
  or 'latest'), default 'stable'
- Add buildExtensionInstallCommand helper that uses 'gh extension upgrade'
  for latest and 'gh extension install --force --pin VERSION' for stable
- Add --channel flag (default 'stable') to upgrade command with validation
- Thread channel through runUpgradeCommand call chain
- Update help text with RELEASE CHANNEL section and --channel examples
- Update tests to pass channel parameter; add test for latest channel

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/bbaf44e4-a31d-4b73-a6e6-9dae9c5ce205

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

Copilot AI commented Mar 29, 2026

@copilot Update the "upgrade" to support this scheme. Upgrade should take optionally the release channel. Default is stable

Done in commit 5214d57. The upgrade command now accepts an optional --channel flag (default stable):

  • --channel stable — upgrades to the highest release in the previous minor version band (e.g. v0.1.10 when latest is v0.2.2). Uses gh extension install --force --pin VERSION.
  • --channel latest — upgrades to the most recent release. Uses gh extension upgrade (existing behaviour).

Changes:

  • Added getStableRelease() in update_check.go (mirrors the shell script algorithm)
  • Updated upgradeExtensionIfOutdated to accept a channel parameter
  • Added buildExtensionInstallCommand helper to pick the right gh subcommand per channel
  • Added --channel flag to upgrade_command.go with input validation and updated help text

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw 0/message/catalorev-parse 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linu^remote\..*\.gh-resolved$ /usr/bin/git g_.a j5w6U7nd4 64/pkg/tool/linu--show-toplevel git (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -goversion go1.25.0 -c=4 -nolocalimports zrg6iaC4cPVs /tmp/go-build1044449947/b233/importcfg -pack env -json GO111MODULE _modules/.bin/sh-lang=go1.25 GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha user.email test@example.com /usr/bin/git -json GO111MODULE x_amd64/compile git rev-�� --show-toplevel x_amd64/compile /usr/bin/infocmp -json /common.go x_amd64/compile infocmp (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha /tmp/go-build1044449947/b215/_pkg_.a l ache/go/1.25.0/x64/pkg/tool/linux_amd64/link -p github.com/segmerev-parse -lang=go1.17 ache/go/1.25.0/x64/pkg/tool/linux_amd64/link rev-�� 6329179/b462/scripts.test -dwarf=false 6329179/b462/importcfg.link go1.25.0 -c=4 -nolocalimports ZXFjOiSQ6baL5/4PU8IGZ3xsiiK_VzgSGT/jqXiqKS2mm7rG7KRlb0f/T36gUPQZXFjOiSQ6baL5 (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha g_.a @v1.1.3/cpu/cpu.go 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env g_.a wyz4rZHwu ache/go/1.25.0/x64/pkg/tool/linux_amd64/link GOINSECURE go-sdk/internal/rev-parse GOMODCACHE ache/go/1.25.0/x64/pkg/tool/linuorigin (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/git */*.ts&#39; &#39;**/*.jsgit GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json at.go 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git g_.a GO111MODULE ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel ortcfg 0/x64/bin/node zpCB_pSXH g/repoutil/repourev-parse 4449947/b229=&gt; git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha y go /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel go /usr/bin/git on&#39; --ignore-patgit GO111MODULE 64/bin/go git chec�� .github/workflows/test.md go /opt/hostedtoolcache/node/24.14.0/x64/bin/node -json GO111MODULE x_amd64/compile node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git CaV_P9nGN GO111MODULE ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/compile /usr/bin/git 4449947/b090/_pkgit rg/x/text@v0.35.rev-parse .cfg git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha go1.25.0 -c=4 -nolocalimports -importcfg /tmp/go-build1044449947/b221/importcfg -pack /home/REDACTED/go/pkg/mod/github.com/segmentio/asm@v1.1.3/cpu/arm64/arm64.go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE wasm.s (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha uts.version go /usr/bin/git on&#39; --ignore-patgit GO111MODULE 64/bin/go git add .github/workflows/test.md go /usr/bin/git -json GO111MODULE x_amd64/compile git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha 3435-50116/test-3859514794 -trimpath /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile -p unicode -lang=go1.25 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile -o k/gh-aw/gh-aw/.github/workflows -trimpath ache/node/24.14.0/x64/bin/node -p crypto/internal/rev-parse -lang=go1.25 /bin/sh (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha /tmp/go-build2916329179/b450/testutil.test -importcfg /usr/bin/git -s -w -buildmode=exe git rev-�� --git-dir -extld=gcc /usr/bin/git -json GO111MODULE x_amd64/compile git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha 3435-50116/test-3859514794 -trimpath 6329179/b316/vet.cfg -p crypto/internal/rev-parse -lang=go1.25 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile -o /tmp/go-build1044449947/b103/_pkg_.a -trimpath 0/x64/bin/node -p log/slog -lang=go1.25 0/x64/bin/node (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha runs/20260329-163435-50116/test-3976227988/.github/workflows 4449947/b129/importcfg 6329179/b001/vet.cfg -p internal/itoa -lang=go1.25 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile -o /tmp/go-build1044449947/b124/_pkg_.a -trimpath 0/x64/bin/node -p github.com/goccyrev-parse -lang=go1.21 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env g_.a GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env g_.a poll/fd.go 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/pkg/tool/linux_amd64/asm GOINSECURE jsonrpc2 GOMODCACHE 64/pkg/tool/linux_amd64/asm estl�� -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE 64/pkg/tool/linu-nolocalimports GOINSECURE GOMOD sm_wasm.s 64/pkg/tool/linu/tmp/go-build2916329179/b445/_testmain.go env -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env g_.a GO111MODULE 64/pkg/tool/linu-nolocalimports GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu/tmp/go-build2916329179/b462/_testmain.go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE 64/pkg/tool/linux_amd64/asm GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuTest User env -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path -goversion go1.25.0 -c=4 -nolocalimports -importcfg /tmp/go-build1044449947/b146/importcfg -pack env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 GOMOD GOMODCACHE go env on&#39; --ignore-patgo1.25.0 GO111MODULE x_amd64/cgo GOINSECURE GOMOD GOMODCACHE x_amd64/cgo (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 GOMOD GOMODCACHE go env -json irent.go 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 7KRlb0f/T36gUPQZXFjOiSQ6baL5 (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git ty-test.md GO111MODULE 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/asm /usr/bin/git y_with_repos_arrsed GO111MODULE 64/pkg/tool/linux_amd64/compile git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha -json GO111MODULE 64/pkg/tool/linu-nolocalimports GOINSECURE 6a9370ed GOMODCACHE 64/pkg/tool/linu/tmp/go-build2916329179/b448/_testmain.go env g_.a GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env on&#39; --ignore-pat-errorsas GO111MODULE x_amd64/asm GOINSECURE GOMOD GOMODCACHE x_amd64/asm (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE lled. Run &#39;make -buildtags env on&#39; --ignore-pat-errorsas GO111MODULE x_amd64/compile N files are not git GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env on&#39; --ignore-pat-s GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE node GOINSECURE GOMOD GOMODCACHE go ode_�� -json GO111MODULE x_amd64/asm GOINSECURE GOMOD GOMODCACHE x_amd64/asm (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env on&#39; --ignore-pat-p GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha ty-test.md 6a9370ed:go.mod 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env edOutput4218240355/001 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env 3028549496/.github/workflows @v1.19.2/ast/ast.go 64/pkg/tool/linux_amd64/compile GOINSECURE order GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo -nolocalimports -importcfg /tmp/go-build1044449947/b246/importcfg -pack /home/REDACTED/go/pkg/mod/golang.org/x/text@v0.35.0/internal/internal.go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo -nolocalimports -importcfg /tmp/go-build1044449947/b254/importcfg -pack L9ou_0Yrtjsa env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build2916329179/b404/cli.test /tmp/go-build2916329179/b404/cli.test -test.testlogfile=/tmp/go-build2916329179/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true -nolocalimports -importcfg /tmp/go-build1044449947/b185/importcfg -pack env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name go1.25.0 -c=4 -nolocalimports -importcfg /tmp/go-build1044449947/b214/importcfg -pack /home/REDACTED/go/pkg/mod/github.com/segmentio/encoding@v0.5.4/json/codec.go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD iles,SysoFiles,T/tmp/go-build1044449947/b199/_pkg_.a go (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Add stable/latest version aliases to install-gh-aw.sh Add stable/latest version aliases to install-gh-aw.sh and upgrade command Mar 29, 2026
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 29, 2026

@copilot also look at upgrade command

Already done in commit 5214d57 — the upgrade command has the --channel flag with stable as the default. See the gh aw upgrade --help output above for the full details.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

Hey @Copilot 👋 — great work on the stable/latest release channel feature! Adding a stable version alias that resolves to the highest patch in the previous minor band is a thoughtful UX improvement for users who want predictable installs without always riding the cutting edge.

This PR looks well-structured and ready for maintainer review. Here's a quick summary of the checklist:

Check Result
On-topic ✅ Yes — version aliasing is core CLI/installer functionality
Follows process ✅ Yes — authored by Copilot agent, assigned to core team member
Focused ✅ Yes — all changes centre on the stable/latest channel feature
New dependencies ✅ No new external deps
Tests included ✅ Yes — update_extension_check_test.go updated + new shell tests in scripts/test-install-script.sh
Description ✅ Yes — detailed section-by-section breakdown
Diff size 553 lines (498 additions, 55 deletions)

Verdict: 🟢 Aligned — the PR aligns with the project's guidelines and quality standards. Nice to see inline algorithm tests (Test 12b) covering the edge cases (no previous minor band, empty band, highest-patch selection). Once the draft is marked ready, this should be in good shape for review.

Generated by Contribution Check ·

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants