initial commit
This commit is contained in:
67
utils/compress/action.yaml
Normal file
67
utils/compress/action.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
name: compress
|
||||
description: "Compress a file or directory"
|
||||
inputs:
|
||||
files:
|
||||
description: "File or directory to compress."
|
||||
required: true
|
||||
name:
|
||||
description: "Filename of the zip file."
|
||||
required: true
|
||||
recursive:
|
||||
description: "Recursivly zip files. Default: true"
|
||||
required: false
|
||||
default: "true"
|
||||
quiet:
|
||||
description: "Don't output every zipped file. Default: true"
|
||||
required: false
|
||||
default: "true"
|
||||
compressionLevel:
|
||||
description: "Compression level between 1-9. Default: 6"
|
||||
required: false
|
||||
default: "6"
|
||||
compressionMethod:
|
||||
description: "Compression method. Options: deflate or store. Default: deflate"
|
||||
required: true
|
||||
default: "deflate"
|
||||
additionalArgs:
|
||||
description: "Additional arguments."
|
||||
required: false
|
||||
workingDir:
|
||||
description: "Working directory to perform the command in. Default: ."
|
||||
required: true
|
||||
default: "."
|
||||
outputs:
|
||||
publicKey:
|
||||
description: "The compressed archive."
|
||||
value: ${{ steps.command.outputs.name }}
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: "Build command."
|
||||
id: command
|
||||
run: |
|
||||
cd "${{ inputs.workingDir }}"
|
||||
mkdir -p "$(dirname '${{ inputs.name }}')"
|
||||
COMMAND="zip -${{ inputs.compressionLevel }} -Z ${{ inputs.compressionMethod }} ${{ inputs.additionalArgs }}"
|
||||
if [[ "${{ inputs.recursive }}" == "true" ]]; then
|
||||
COMMAND="$COMMAND -r"
|
||||
fi
|
||||
if [[ "${{ inputs.quiet }}" == "true" ]]; then
|
||||
COMMAND="$COMMAND -q"
|
||||
fi
|
||||
NAME="${{ inputs.name }}"
|
||||
NAME="${NAME/ /\\ }"
|
||||
FILES="${{ inputs.files }}"
|
||||
FILES="${FILES/ /\\ }"
|
||||
|
||||
COMMAND="$COMMAND $NAME $FILES"
|
||||
echo "Compressing with: $COMMAND"
|
||||
echo "::set-output name=command::$COMMAND"
|
||||
echo "::set-output name=name::${{ inputs.name }}"
|
||||
shell: bash
|
||||
- name: "Compress archive."
|
||||
id: compress
|
||||
uses: act/common/distros/rockylinux@master
|
||||
with:
|
||||
workingDir: ${{ inputs.workingDir }}
|
||||
args: ${{ steps.command.outputs.command }}
|
||||
Reference in New Issue
Block a user