Compare commits

...

3 Commits

Author SHA1 Message Date
Younan Zhang
17d4a42de9
Merge 5796438e86 into 06c1d49984 2025-11-25 22:06:11 +00:00
Ruben Buniatyan
06c1d49984
Automatically publish release packages to winget (#2445) 2025-11-25 02:28:56 -05:00
Younan Zhang
5796438e86 Install clangd before archiving 2024-04-10 16:53:49 +08:00
2 changed files with 60 additions and 0 deletions

View File

@ -301,6 +301,12 @@ jobs:
run: >
ninja -C ${{ env.CLANGD_DIR }} clangd clangd-indexer clangd-index-server
clangd-index-server-monitor
# Install targets so that RUNPATHs get properly substituted.
# FIXME: We don't have other targets besides clangd. We probably want them too.
- name: Install
run: >
cmake --install ${{ env.CLANGD_DIR }} --prefix ${{ env.CLANGD_DIR }}
"--component=clangd"
- name: Install OpenMP headers
shell: bash
run: >

54
.github/workflows/winget.yml vendored Normal file
View File

@ -0,0 +1,54 @@
name: Publish on Windows Package Manager
on:
release:
types: [released]
workflow_dispatch:
inputs:
tag_name:
description: Release tag (version)
required: true
jobs:
publish-winget:
name: Publish
runs-on: windows-latest
steps:
- name: Configure parameters
id: params
run: |
if ("${{ github.event_name }}" -eq "release") {
# Sometimes assets aren't immediately available, so we wait a bit for the first run
${{ github.run_attempt == 1 && 'Start-Sleep -Seconds 300' || '' }}
echo "assets_url=${{ github.event.release.assets_url }}" >> $env:GITHUB_OUTPUT
echo "version=${{ github.event.release.tag_name }}" >> $env:GITHUB_OUTPUT
} else {
$releaseUrl = "$env:GITHUB_API_URL/repos/clangd/clangd/releases/tags/${{ github.event.inputs.tag_name }}"
$assetsUrl = curl -sL $releaseUrl | ConvertFrom-Json | Select-Object -ExpandProperty assets_url
echo "assets_url=$assetsUrl" >> $env:GITHUB_OUTPUT
echo "version=${{ github.event.inputs.tag_name }}" >> $env:GITHUB_OUTPUT
}
- name: Set up Komac
run: |
$releaseUrl = "$env:GITHUB_API_URL/repos/russellbanks/Komac/releases/latest"
$downloadUrl = curl -sL $releaseUrl | ConvertFrom-Json
| Select-Object -ExpandProperty assets
| Where-Object -Property name -like "komac-*-x86_64-pc-windows-msvc.exe"
| Select-Object -ExpandProperty browser_download_url
| Select-Object -First 1
curl -sL $downloadUrl -o komac.exe
./komac --version
- name: Submit package
env:
GITHUB_TOKEN: ${{ secrets.WINGET_TOKEN }}
run: |
$releaseUrl = curl -sL ${{ steps.params.outputs.assets_url }} | ConvertFrom-Json
| Where-Object -Property name -like "clangd-windows-*.zip"
| Select-Object -ExpandProperty browser_download_url
./komac sync-fork
./komac update LLVM.clangd -v ${{ steps.params.outputs.version }} -u $releaseUrl -s