Files
common/nuget/nuget-compare-version/action.yaml
2025-07-01 15:32:31 -07:00

73 lines
2.3 KiB
YAML

name: nuget-compare-version
description: "Download the desired .nupkg file and compare it to an existing .nupkg file."
inputs:
lhs:
description: "Path to the existing .nupkg file."
required: true
name:
description: "Name of the .nupkg file."
required: true
version:
description: "Version of the .nupkg file."
required: false
default: ""
prerelease:
description: "Install prerelease packages. Values: true, false."
required: false
default: "${{ github.event_name == 'pull_request' }}"
url:
description: "Url of the NuGet repository."
required: true
# This is for GitHub.
#default: ${{ github.server_url }}/_registry/nuget/${{ github.repository_owner }}/index.json
# This is for Gitea.
default: ${{ github.server_url }}/api/packages/${{ github.repository_owner }}/nuget/index.json
username:
description: "Username for the nuget repository to search."
required: true
default: ${{ github.actor }}
password:
description: "Password or ApiKey of the nuget repository to search."
required: true
default: ${{ github.token }}
tmpDir:
description: "Temporary directory. Default: _tmp"
required: true
default: _tmp
outputs:
success:
description: "Whether or not the .nupkg files match."
value: ${{ steps.compare.outputs.success }}
runs:
using: "composite"
steps:
- name: "Make temporary folder if we are using .nupkg only."
id: mktmp
uses: act/common/utils/mktemp@master
with:
tmpDir: ${{ inputs.tmpDir }}
outputType: dir
- name: "Get the desired version of the package."
id: install
uses: act/common/nuget/nuget-install@master
with:
name: ${{ inputs.name }}
version: ${{ inputs.version }}
prerelease: ${{ inputs.prerelease }}
url: ${{ inputs.url }}
username: ${{ inputs.username }}
password: ${{ inputs.password }}
outputDirectory: ${{ steps.mktmp.outputs.tmp }}
nupkgOnly: true
directDownload: true
cleanTmp: false
- name: "Compare the two .nupkg files."
id: compare
uses: act/common/utils/compare-nupkg@master
with:
lhs: ${{ inputs.lhs }}
rhs: ${{ steps.install.outputs.nupkg }}
- name: "Remove temporary files."
run: rm -rf "${{ inputs.tmpDir }}"
shell: bash