49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
name: yq-merge
|
|
description: "Change the language format of a file."
|
|
inputs:
|
|
lhs:
|
|
description: "Left-hand side of merge."
|
|
required: true
|
|
rhs:
|
|
description: "Right-hand side of merge."
|
|
required: true
|
|
operator:
|
|
description: "Merge operator. See: https://mikefarah.gitbook.io/yq/operators/multiply-merge"
|
|
required: true
|
|
default: "*+"
|
|
element:
|
|
description: "Element to merge."
|
|
required: true
|
|
default: "."
|
|
tmpDir:
|
|
description: "Temporary directory. Default: _tmp"
|
|
required: true
|
|
default: _tmp
|
|
outputs:
|
|
result:
|
|
description: "The converted file."
|
|
value: ${{ steps.merge.outputs.console }}
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: "Make temporary file of first input."
|
|
id: lhs
|
|
uses: act/common/utils/mktemp@master
|
|
with:
|
|
input: ${{ inputs.lhs }}
|
|
tmpDir: ${{ inputs.tmpDir }}
|
|
- name: "Make temporary file of second input."
|
|
id: rhs
|
|
uses: act/common/utils/mktemp@master
|
|
with:
|
|
input: ${{ inputs.rhs }}
|
|
tmpDir: ${{ inputs.tmpDir }}
|
|
- name: "Merge files."
|
|
id: merge
|
|
uses: act/common/yq/yq@master
|
|
with:
|
|
command: "'${{ inputs.element }} ${{ inputs.operator }} load(\"${{ steps.rhs.outputs.tmp }}\")' '${{ steps.lhs.outputs.tmp }}'"
|
|
- name: "Remove temporary files."
|
|
run: rm -rf "${{ inputs.tmpDir }}"
|
|
shell: bash
|