21 lines
No EOL
538 B
Bash
Executable file
21 lines
No EOL
538 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" >> $GITHUB_ENV |