mirror of
https://github.com/clangd/clangd.git
synced 2025-07-17 13:11:39 +00:00
Add winget publisher workflow
This commit is contained in:
parent
30a8f963f7
commit
6ea8a83759
58
.github/workflows/winget.yml
vendored
Normal file
58
.github/workflows/winget.yml
vendored
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
name: Publish on Windows Package Manager
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
tag_name:
|
||||||
|
description: Release tag (version)
|
||||||
|
required: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish-winget:
|
||||||
|
name: Publish
|
||||||
|
runs-on: windows-latest
|
||||||
|
if: github.event_name == 'workflow_dispatch' || github.event_name == 'release' && !github.event.release.prerelease
|
||||||
|
steps:
|
||||||
|
- name: Configure parameters
|
||||||
|
id: params
|
||||||
|
run: |
|
||||||
|
if ("${{ github.event_name }}" -eq "release") {
|
||||||
|
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
|
||||||
|
$version = "${{ steps.params.outputs.version }}"
|
||||||
|
$installerPath = "winget-pkgs/manifests/l/LLVM/clangd/$version/LLVM.clangd.installer.yaml"
|
||||||
|
|
||||||
|
./komac sync-fork
|
||||||
|
./komac update -v $version -u $releaseUrl --dry-run -o winget-pkgs LLVM.clangd
|
||||||
|
|
||||||
|
(Get-Content $installerPath) -replace '^(\s*-\s+RelativeFilePath:\s+).*$', ('${1}' + "clang_$version/bin/clangd.exe")
|
||||||
|
| Set-Content $installerPath
|
||||||
|
|
||||||
|
./komac submit -y winget-pkgs
|
Loading…
Reference in New Issue
Block a user