Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 18 additions & 32 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -749,41 +749,27 @@ jobs:
}
}

# Update Scoop bucket (only stable releases from public repo)
update-scoop:
name: Update Scoop Bucket
runs-on: ubuntu-latest
# Update WinGet package at microsoft/winget-pkgs (only stable releases from public repo)
# Uses Microsoft's official wingetcreate tool (https://github.com/microsoft/winget-create)
# to generate updated manifests and open a PR to microsoft/winget-pkgs.
# Requires WINGET_TOKEN secret: classic PAT with public_repo scope.
update-winget:
name: Update WinGet Package
runs-on: windows-latest
needs: [build-and-test, build-and-validate-macos-intel, build-and-validate-macos-arm, integration-tests, release-validation, create-release, publish-pypi]
# TODO: Enable once downstream repository and secrets are configured (see #88)
if: false && github.ref_type == 'tag' && needs.create-release.outputs.is_private_repo != 'true' && needs.create-release.outputs.is_prerelease != 'true'
if: github.ref_type == 'tag' && needs.create-release.outputs.is_private_repo != 'true' && needs.create-release.outputs.is_prerelease != 'true'
Comment on lines +752 to +760
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

PR description says CHANGELOG is updated under Unreleased, but there is currently no WinGet-related entry in CHANGELOG.md. Please add the Unreleased changelog entry (or update the PR description if that work is intentionally out of scope).

Copilot uses AI. Check for mistakes.
permissions:
contents: read

steps:
- name: Extract Windows checksum from GitHub release
id: checksums
- name: Update WinGet manifest
run: |
RELEASE_TAG="${{ github.ref_name }}"
curl -L -o apm-windows-x86_64.zip.sha256 \
"https://github.com/${{ github.repository }}/releases/download/$RELEASE_TAG/apm-windows-x86_64.zip.sha256"
WINDOWS_X86_64_SHA=$(cat apm-windows-x86_64.zip.sha256 | cut -d' ' -f1)
echo "windows-x86_64-sha=$WINDOWS_X86_64_SHA" >> $GITHUB_OUTPUT
echo "Windows x86_64 SHA: $WINDOWS_X86_64_SHA"

- name: Trigger Scoop bucket repository update
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.GH_PKG_PAT }}
repository: microsoft/scoop-apm
event-type: bucket-update
client-payload: |
{
"release": {
"version": "${{ github.ref_name }}",
"tag": "${{ github.ref_name }}",
"repository": "${{ github.repository }}"
},
"checksums": {
"windows_x86_64": "${{ steps.checksums.outputs.windows-x86_64-sha }}"
}
}
$version = "${{ github.ref_name }}" -replace '^v', ''
$url = "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/apm-windows-x86_64.zip"
Invoke-WebRequest -Uri "https://aka.ms/wingetcreate/latest" -OutFile wingetcreate.exe
.\wingetcreate.exe update Microsoft.APM `
--version $version `
--urls $url `
--submit `
--token ${{ secrets.WINGET_TOKEN }}
Comment on lines +767 to +774
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

The workflow downloads wingetcreate from a moving latest URL without any pinning or integrity check. Because this step runs with a PAT that can open PRs to winget-pkgs, it would be safer/more reliable to pin to a specific wingetcreate release (and ideally verify a checksum or signature) to reduce supply-chain and unexpected-breaking-change risk.

Copilot uses AI. Check for mistakes.
shell: pwsh
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,8 @@ pip install apm-cli
#### Windows

```powershell
# Scoop
scoop bucket add apm https://github.com/microsoft/scoop-apm
scoop install apm
# WinGet
winget install Microsoft.APM
# pip
pip install apm-cli
```
Comment on lines 77 to 84
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

README updates require explicit maintainer approval in this repo. Before merging, please confirm the README.md change is intended and approved (otherwise move this guidance into the docs pages only).

This issue also appears on line 79 of the same file.

See below for a potential fix:

Install instructions are maintained in the docs to keep this README concise.
See the **[Quick Start](https://microsoft.github.io/apm/getting-started/quick-start/)** for supported installation methods on Linux, macOS, and Windows.

Copilot uses AI. Check for mistakes.
Expand Down
5 changes: 2 additions & 3 deletions docs/src/content/docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,10 @@ The installer automatically detects your platform (macOS/Linux/Windows, Intel/AR
brew install microsoft/apm/apm
```

**Scoop (Windows):**
**WinGet (Windows):**

```powershell
scoop bucket add apm https://github.com/microsoft/scoop-apm
scoop install apm
winget install Microsoft.APM
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

Consider using the explicit WinGet id form here as well (winget install --id Microsoft.APM) to avoid ambiguity and interactive prompts if the search term ever matches multiple packages.

Suggested change
winget install Microsoft.APM
winget install --id Microsoft.APM

Copilot uses AI. Check for mistakes.
```
Comment on lines +38 to 42
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

This PR updates Starlight docs to WinGet, but the in-repo usage docs under packages/apm-guide/.apm/skills/apm-usage/installation.md still reference Scoop. Please update that file too so generated guidance stays consistent with the main installation docs.

Copilot uses AI. Check for mistakes.

## pip install
Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/getting-started/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Verify it worked:
apm --version
```

For Homebrew (macOS/Linux), Scoop (Windows), pip, or manual install, see the [Installation guide](../installation/).
For Homebrew (macOS/Linux), WinGet (Windows), pip, or manual install, see the [Installation guide](../installation/).

## Start a project

Expand Down
Loading