# SPDX-FileCopyrightText: © 2026 Jeffrey C. Ollie # SPDX-License-Identifier: MIT name: winget submit description: Submit a new version of a program to the JCOllie winget source as a pull request against jeff/winget-pkgs. inputs: identifier: description: The package identifier, e.g. JCOllie.Clipwatch. The package must already have a version in jeff/winget-pkgs. required: true version: description: The version to submit, e.g. 0.3.0, without a tag's leading v. required: true installers: description: >- One ` ` per line, for exactly the architectures the package's newest version has. required: true product-codes: description: >- One ` ` per line: a ProductCode to write for an installer that has one, rather than the one jeff/winget-pkgs' new-version reads from the new MSI. Not needed for an MSI that carries its own. default: "" release-notes-url: description: The release's notes. Without it the new version has none. default: "" release-date: description: YYYY-MM-DD. Defaults to today in UTC. default: "" token: description: >- The submitter's token, which can push branches to jeff/winget-pkgs and open pull requests there: secrets.WINGET_BOT_TOKEN. Not needed for a dry run. default: "" dry-run: description: Write and check the new version, print it, and push nothing. default: "false" runs: using: composite steps: - name: Submit to the JCOllie winget source shell: bash env: WINGET_SUBMIT_IDENTIFIER: ${{ inputs.identifier }} WINGET_SUBMIT_VERSION: ${{ inputs.version }} WINGET_SUBMIT_INSTALLERS: ${{ inputs.installers }} WINGET_SUBMIT_PRODUCT_CODES: ${{ inputs.product-codes }} WINGET_SUBMIT_RELEASE_NOTES_URL: ${{ inputs.release-notes-url }} WINGET_SUBMIT_RELEASE_DATE: ${{ inputs.release-date }} WINGET_SUBMIT_TOKEN: ${{ inputs.token }} WINGET_SUBMIT_DRY_RUN: ${{ inputs.dry-run }} # The script and its tools come from this action's own flake, so a job # needs nothing but Nix. Run from the checkout of this action, at the # commit the workflow pinned. run: nix run "path:${{ github.action_path }}#submit"