Added many, many more actions.
This commit is contained in:
99
utils/compare-nupkg/action.yaml
Normal file
99
utils/compare-nupkg/action.yaml
Normal 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
|
||||
Reference in New Issue
Block a user