Files
common/utils/urlencode/action.yaml
2025-06-24 15:24:16 -07:00

48 lines
1.2 KiB
YAML

name: urlencode
description: "Encode or decode the input string as a url."
inputs:
input:
description: "Input to encode/decode."
required: true
mild:
description: "Do a mild conversion."
required: false
default: "false"
decode:
description: "Whether or not to decode instead of encode."
required: true
default: "false"
outputs:
result:
description: "The url-encoded or decoded string."
value: ${{ steps.url.outputs.console }}
runs:
using: "composite"
steps:
- name: "Build the command."
id: command
run: |
COMMAND="urlencode"
DECODE="${{ inputs.decode }}"
if [[ "$DECODE" == "true" ]]; then
COMMAND="$COMMAND -d"
fi
MILD="${{ inputs.mild }}"
if [[ "$MILD" == "true" ]]; then
if [[ "$DECODE" == "true" ]]; then
echo "Cannot perform url decoding in mild mode."
exit 1
fi
COMMAND="$COMMAND -m"
fi
echo "command=$COMMAND" >> "$GITHUB_OUTPUT"
shell: bash
- name: "Encode/decode the input."
id: url
uses: act/common/distros/debian@master
with:
args: ${{ steps.command.outputs.command }} "${{ inputs.input }}"