Adding logic

This commit is contained in:
Lucas Gravley 2020-01-09 10:29:18 -06:00
parent 601eb39812
commit e2d4484c1f
2 changed files with 125 additions and 75 deletions

View file

@ -90,7 +90,8 @@ ENV GITHUB_SHA=${GITHUB_SHA} \
VALIDATE_COFFEE=${VALIDATE_COFFEE} \ VALIDATE_COFFEE=${VALIDATE_COFFEE} \
VALIDATE_ANSIBLE=${VALIDATE_ANSIBLE} \ VALIDATE_ANSIBLE=${VALIDATE_ANSIBLE} \
VALIDATE_JAVASCRIPT=${VALIDATE_JAVASCRIPT} \ VALIDATE_JAVASCRIPT=${VALIDATE_JAVASCRIPT} \
ANSIBLE_DIRECTORY=${ANSIBLE_DIRECTORY} ANSIBLE_DIRECTORY=${ANSIBLE_DIRECTORY} \
RUN_LOCAL=${RUN_LOCAL}
############################# #############################
# Copy scripts to container # # Copy scripts to container #

View file

@ -56,13 +56,16 @@ VALIDATE_RUBY="${VALIDATE_RUBY}" # Boolean to validate language
VALIDATE_COFFEE="${VALIDATE_COFFEE}" # Boolean to validate language VALIDATE_COFFEE="${VALIDATE_COFFEE}" # Boolean to validate language
VALIDATE_ANSIBLE="${VALIDATE_ANSIBLE}" # Boolean to validate language VALIDATE_ANSIBLE="${VALIDATE_ANSIBLE}" # Boolean to validate language
VALIDATE_JAVASCRIPT="${VALIDATE_JAVASCRIPT}" # Boolean to validate language VALIDATE_JAVASCRIPT="${VALIDATE_JAVASCRIPT}" # Boolean to validate language
RUN_LOCAL="${RUN_LOCAL}" # Boolean to see if we are running locally
################ ################
# Default Vars # # Default Vars #
################ ################
DEFAULT_VALIDATE_ALL_CODEBASE='true' # Default value for validate all files DEFAULT_VALIDATE_ALL_CODEBASE='true' # Default value for validate all files
DEFAULT_VALIDATE_LANGUAGE='true' # Default to validate language DEFAULT_VALIDATE_LANGUAGE='true' # Default to validate language
DEFAULT_WORKSPACE='/tmp/lint' # Default workspace if running locally
DEFAULT_ANSIBLE_DIRECTORY="$GITHUB_WORKSPACE/ansible" # Default Ansible Directory DEFAULT_ANSIBLE_DIRECTORY="$GITHUB_WORKSPACE/ansible" # Default Ansible Directory
DEFAULT_RUN_LOCAL='false' # default value for debugging
RAW_FILE_ARRAY=() # Array of all files that were changed RAW_FILE_ARRAY=() # Array of all files that were changed
########################## ##########################
@ -1900,75 +1903,116 @@ GetGitHubVars()
echo "--------------------------------------------" echo "--------------------------------------------"
echo "Gathering GitHub information..." echo "Gathering GitHub information..."
############################ ##########################
# Validate we have a value # # Get the run local flag #
############################ ##########################
if [ -z "$GITHUB_SHA" ]; then if [ -z "$RUN_LOCAL" ]; then
echo "ERROR! Failed to get [GITHUB_SHA]!" ##################################
echo "ERROR:[$GITHUB_SHA]" # No flag passed, set to default #
exit 1 ##################################
else RUN_LOCAL="$DEFAULT_RUN_LOCAL"
echo "Successfully found:[GITHUB_SHA], value:[$GITHUB_SHA]"
fi fi
############################ ###############################
# Validate we have a value # # Convert string to lowercase #
############################ ###############################
if [ -z "$GITHUB_WORKSPACE" ]; then RUN_LOCAL=$(echo "$RUN_LOCAL" | awk '{print tolower($0)}')
echo "ERROR! Failed to get [GITHUB_WORKSPACE]!" #################################
echo "ERROR:[$GITHUB_WORKSPACE]" # Check if were running locally #
exit 1 #################################
if [[ "$RUN_LOCAL" != "false" ]]; then
##########################################
# We are running locally for a debug run #
##########################################
echo "NOTE: ENV VAR [RUN_LOCAL] has been set to:[true]"
echo "bypassing GitHub Actions variables..."
echo "Linting all files in mapped directory:[$DEFAULT_WORKSPACE]"
# No need to touch or set the GITHUB_SHA
# No need to touch or set the GITHUB_EVENT_PATH
# No need to touch or set the GITHUB_ORG
# No need to touch or set the GITHUB_REPO
############################
# Set the GITHUB_WORKSPACE #
############################
GITHUB_WORKSPACE="$DEFAULT_WORKSPACE"
#################################
# Set the VALIDATE_ALL_CODEBASE #
#################################
VALIDATE_ALL_CODEBASE="$DEFAULT_VALIDATE_ALL_CODEBASE"
else else
echo "Successfully found:[GITHUB_WORKSPACE], value:[$GITHUB_WORKSPACE]" ############################
fi # Validate we have a value #
############################
if [ -z "$GITHUB_SHA" ]; then
echo "ERROR! Failed to get [GITHUB_SHA]!"
echo "ERROR:[$GITHUB_SHA]"
exit 1
else
echo "Successfully found:[GITHUB_SHA], value:[$GITHUB_SHA]"
fi
############################ ############################
# Validate we have a value # # Validate we have a value #
############################ ############################
if [ -z "$GITHUB_EVENT_PATH" ]; then if [ -z "$GITHUB_WORKSPACE" ]; then
echo "ERROR! Failed to get [GITHUB_EVENT_PATH]!" echo "ERROR! Failed to get [GITHUB_WORKSPACE]!"
echo "ERROR:[$GITHUB_EVENT_PATH]" echo "ERROR:[$GITHUB_WORKSPACE]"
exit 1 exit 1
else else
echo "Successfully found:[GITHUB_EVENT_PATH], value:[$GITHUB_EVENT_PATH]" echo "Successfully found:[GITHUB_WORKSPACE], value:[$GITHUB_WORKSPACE]"
fi fi
################################################## ############################
# Need to pull the GitHub Vars from the env file # # Validate we have a value #
################################################## ############################
if [ -z "$GITHUB_EVENT_PATH" ]; then
echo "ERROR! Failed to get [GITHUB_EVENT_PATH]!"
echo "ERROR:[$GITHUB_EVENT_PATH]"
exit 1
else
echo "Successfully found:[GITHUB_EVENT_PATH], value:[$GITHUB_EVENT_PATH]"
fi
###################### ##################################################
# Get the GitHub Org # # Need to pull the GitHub Vars from the env file #
###################### ##################################################
# shellcheck disable=SC2002
GITHUB_ORG=$(cat "$GITHUB_EVENT_PATH" | jq -r '.repository.owner.login' )
############################ ######################
# Validate we have a value # # Get the GitHub Org #
############################ ######################
if [ -z "$GITHUB_ORG" ]; then # shellcheck disable=SC2002
echo "ERROR! Failed to get [GITHUB_ORG]!" GITHUB_ORG=$(cat "$GITHUB_EVENT_PATH" | jq -r '.repository.owner.login' )
echo "ERROR:[$GITHUB_ORG]"
exit 1
else
echo "Successfully found:[GITHUB_ORG], value:[$GITHUB_ORG]"
fi
####################### ############################
# Get the GitHub Repo # # Validate we have a value #
####################### ############################
# shellcheck disable=SC2002 if [ -z "$GITHUB_ORG" ]; then
GITHUB_REPO=$(cat "$GITHUB_EVENT_PATH"| jq -r '.repository.name' ) echo "ERROR! Failed to get [GITHUB_ORG]!"
echo "ERROR:[$GITHUB_ORG]"
exit 1
else
echo "Successfully found:[GITHUB_ORG], value:[$GITHUB_ORG]"
fi
############################ #######################
# Validate we have a value # # Get the GitHub Repo #
############################ #######################
if [ -z "$GITHUB_REPO" ]; then # shellcheck disable=SC2002
echo "ERROR! Failed to get [GITHUB_REPO]!" GITHUB_REPO=$(cat "$GITHUB_EVENT_PATH"| jq -r '.repository.name' )
echo "ERROR:[$GITHUB_REPO]"
exit 1 ############################
else # Validate we have a value #
echo "Successfully found:[GITHUB_REPO], value:[$GITHUB_REPO]" ############################
if [ -z "$GITHUB_REPO" ]; then
echo "ERROR! Failed to get [GITHUB_REPO]!"
echo "ERROR:[$GITHUB_REPO]"
exit 1
else
echo "Successfully found:[GITHUB_REPO], value:[$GITHUB_REPO]"
fi
fi fi
############################################ ############################################
@ -1978,20 +2022,25 @@ GetGitHubVars()
echo "--------------------------------------------" echo "--------------------------------------------"
echo "Gathering User provided information..." echo "Gathering User provided information..."
############################### ###########################################
# Convert string to lowercase # # Skip validation if were running locally #
############################### ###########################################
VALIDATE_ALL_CODEBASE=$(echo "$VALIDATE_ALL_CODEBASE" | awk '{print tolower($0)}') if [[ "$RUN_LOCAL" != "true" ]]; then
###################################### ###############################
# Validate we should check all files # # Convert string to lowercase #
###################################### ###############################
if [[ "$VALIDATE_ALL_CODEBASE" != "false" ]]; then VALIDATE_ALL_CODEBASE=$(echo "$VALIDATE_ALL_CODEBASE" | awk '{print tolower($0)}')
# Set to true ######################################
VALIDATE_ALL_CODEBASE="$DEFAULT_VALIDATE_ALL_CODEBASE" # Validate we should check all files #
echo "- Validating ALL files in code base..." ######################################
else if [[ "$VALIDATE_ALL_CODEBASE" != "false" ]]; then
# Its false # Set to true
echo "- Only validating [new], or [edited] files in code base..." VALIDATE_ALL_CODEBASE="$DEFAULT_VALIDATE_ALL_CODEBASE"
echo "- Validating ALL files in code base..."
else
# Its false
echo "- Only validating [new], or [edited] files in code base..."
fi
fi fi
############################### ###############################