cache-apt-pkgs-action/create_cache_key.sh

21 lines
523 B
Bash
Executable file

#!/bin/bash
# Fail on any error.
set -e
version=$1
packages=${@:2}
echo "* Creating cache key..."
# Remove package delimiters, sort (requires newline) and then convert back to inline list.
normalized_list=$(echo $packages | sed 's/[\s,]+/ /g' | tr ' ' '\n' | sort | tr '\n' ' ')
echo "* Normalized package list is '$normalized_list'."
value=$(echo $normalized_list @ $version)
echo "* Value to hash is '$value'."
key=$(echo $value | md5sum | /bin/cut -f1 -d' ')
echo "* Value hashed as '$key'."
echo "CACHE_KEY=$key"