Files
ccextractor/.github/workflows/publish_winget.yml
Carlos Fernandez Sanz 2dc5cf3223 Improve CI caching, fix Linux deps, fix WinGet fork-user
* Improve CI caching and fix Linux build dependencies

- release.yml: Replace manual vcpkg clone + binary cache with
  lukka/run-vcpkg@v11 and installed-packages caching (matching
  build_windows.yml), add Cargo registry caching
- build_linux.yml: Add FFmpeg dev packages to build_autoconf, cmake,
  and build_rust jobs — libgpac on newer Ubuntu requires FFmpeg 6.x
  libraries at link time

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix WinGet publish: add fork-user to point to CCExtractor org fork

The winget-releaser action defaults to creating branches on the token
owner's fork (cfsmp3/winget-pkgs), which doesn't exist. The actual
fork is at CCExtractor/winget-pkgs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 19:20:48 -08:00

44 lines
1.4 KiB
YAML

# Publish to Windows Package Manager (winget)
#
# PREREQUISITES:
# 1. CCExtractor must already have ONE version in winget-pkgs before this works
# - Submit the initial manifest manually from packaging/winget/
# - PR to: https://github.com/microsoft/winget-pkgs
#
# 2. Create a fork of microsoft/winget-pkgs under the CCExtractor organization
# - https://github.com/CCExtractor/winget-pkgs
#
# 3. Create a GitHub Personal Access Token (classic) with 'public_repo' scope
# - Add as repository secret: WINGET_TOKEN
#
# Reference: https://github.com/vedantmgoyal9/winget-releaser
name: Publish to WinGet
on:
workflow_run:
workflows: ["Upload releases"]
types: [completed]
workflow_dispatch:
inputs:
release_tag:
description: 'Release tag to publish (e.g., v0.96.1)'
required: true
type: string
jobs:
publish:
runs-on: windows-latest
if: >-
github.event_name == 'workflow_dispatch' ||
github.event.workflow_run.conclusion == 'success'
steps:
- name: Publish to WinGet
uses: vedantmgoyal9/winget-releaser@v2
with:
identifier: CCExtractor.CCExtractor
installers-regex: '\.msi$' # Only use the MSI installer
token: ${{ secrets.WINGET_TOKEN }}
fork-user: CCExtractor
release-tag: ${{ github.event.inputs.release_tag || github.event.workflow_run.head_branch }}