blob: e05547f78dd81e254c84b14a57b87c314feadb0f [file]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
---
name: "Stringify"
description: "Stringifies the given input value."
inputs:
value:
description: "Input value to stringify."
required: true
outputs:
stringified_value:
description: "Stringified output value."
value: ${{ steps.stringify-step.outputs.stringified_value }}
runs:
using: "composite"
steps:
- name: "Stringify '${{ inputs.value }}'"
id: stringify-step
shell: bash
run: |
# adds a stringified version of the workflow name that can be used for generating unique build artifact names within a composite workflow
# - replaces any special characters (except for underscores and dots) with dashes
# - makes the entire string lowercase
# - condenses multiple dashes into a single one
# - removes leading and following dashes
stringified_value=$(echo "${{ inputs.value }}" | tr -C '[:alnum:]._' '-' | tr '[:upper:]' '[:lower:]' | sed -e 's/--*/-/g' -e 's/^-*//g' -e 's/-*$//g')
echo "stringified_value=${stringified_value}" >> $GITHUB_OUTPUT