Added many, many more actions.

This commit is contained in:
2025-06-24 15:24:16 -07:00
parent 62fbe4dead
commit 57ef232d2b
108 changed files with 4212 additions and 7 deletions

View File

@@ -0,0 +1,99 @@
name: compare-nupkg
description: "Compare the contents of a nupkg file to an expected value."
inputs:
lhs:
description: "Left hand side nupkg."
required: true
rhs:
description: "Right hand side nupkg."
required: true
compareNuspec:
description: "Whether or not to compare the .nuspec file when comparing versions."
required: true
default: "false"
exitOnFail:
description: "Should the program exit on a failure."
required: true
default: "false"
tmpDir:
description: "Temporary directory. Default: _tmp"
required: true
default: _tmp
outputs:
success:
description: "The result of the comparison."
value: ${{ steps.compare.outputs.success == 'true' && ( inputs.compareNuspec == 'false' || steps.compare-nuspec.outputs.success == 'true' ) }}
runs:
using: "composite"
steps:
- name: "Make temporary directory for lhs extraction"
id: mktemp-lhs
uses: act/common/utils/mktemp@master
with:
outputType: dir
tmpDir: ${{ inputs.tmpDir }}
- name: "Make temporary directory for rhs extraction"
id: mktemp-rhs
uses: act/common/utils/mktemp@master
with:
outputType: dir
tmpDir: ${{ inputs.tmpDir }}
- name: "Extract lhs."
uses: act/common/utils/extract@master
with:
file: ${{ inputs.lhs }}
outputDir: ${{ steps.mktemp-lhs.outputs.tmp }}
- name: "Extract rhs."
uses: act/common/utils/extract@master
with:
file: ${{ inputs.rhs }}
outputDir: ${{ steps.mktemp-rhs.outputs.tmp }}
- name: "Disassemble lhs dlls."
uses: act/common/mono/ikdasm-files@master
with:
directory: ${{ steps.mktemp-lhs.outputs.tmp }}/lib
deleteAssemblies: true
removeComments: true
- name: "Disassemble rhs dlls."
uses: act/common/mono/ikdasm-files@master
with:
directory: ${{ steps.mktemp-rhs.outputs.tmp }}/lib
deleteAssemblies: true
removeComments: true
- name: "Get shasum for lhs."
id: lhs-shasum
uses: act/common/utils/shasum-files@master
with:
directory: ${{ steps.mktemp-lhs.outputs.tmp }}/lib
pattern: "*"
- name: "Get shasum for rhs."
id: rhs-shasum
uses: act/common/utils/shasum-files@master
with:
directory: ${{ steps.mktemp-rhs.outputs.tmp }}/lib
pattern: "*"
- name: "Compare lhs and rhs."
id: compare
uses: act/common/utils/compare@master
with:
expected: ${{ steps.lhs-shasum.outputs.sums }}
actual: ${{ steps.rhs-shasum.outputs.sums }}
exitOnFail: ${{ inputs.exitOnFail }}
#TODO: Use a yq expression to remove the git sha and version before comparing.
- name: "Compare nuspec files."
id: compare-nuspec
if: ${{ inputs.compareNuspec == 'true' }}
uses: act/common/utils/compare-files@master
with:
expected: ${{ steps.mktemp-lhs.outputs.tmp }}
expectedPattern: /*.nuspec
actual: ${{ steps.mktemp-rhs.outputs.tmp }}
actualPattern: /*.nuspec
exitOnFail: ${{ inputs.exitOnFail }}
- name: "Take ownership of the artifacts."
uses: act/common/utils/chown@master
with:
file: ${{ inputs.tmpDir }}
- name: "Remove temporary files."
run: rm -rf "${{ inputs.tmpDir }}"
shell: bash