You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
kratos/hack/resolve-modules.sh

38 lines
872 B

#!/usr/bin/env bash
# This is used by the linter action.
# Recursively finds all directories with a go.mod file and creates
# a GitHub Actions JSON output option.
set -o errexit
echo "Resolving modules in $(pwd)"
KRAOTS_HOME=$(
cd "$(dirname "${BASH_SOURCE[0]}")" &&
cd .. &&
pwd
)
source "${KRAOTS_HOME}/hack/util.sh"
FAILURE_FILE=${KRAOTS_HOME}/hack/.lintcheck_failures
all_modules=$(util::find_modules)
failing_modules=()
while IFS='' read -r line; do failing_modules+=("$line"); done < <(cat "$FAILURE_FILE")
echo "Ignored failing modules:"
echo "${failing_modules[*]}"
echo
PATHS=""
for mod in $all_modules; do
util::array_contains "$mod" "${failing_modules[*]}" && in_failing=$? || in_failing=$?
if [[ "$in_failing" -ne "0" ]]; then
PATHS+=$(printf '{"workdir":"%s"},' ${mod})
fi
done
echo "::set-output name=matrix::{\"include\":[${PATHS%?}]}"