Merge pull request #609 from github/UpdateBash

adding some spaget
This commit is contained in:
Lukas Gravley 2020-08-24 11:38:56 -05:00 committed by GitHub
commit dbf6b0387e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -190,7 +190,13 @@ function BuildFileList() {
######################
# Get the BASH files #
######################
elif [ "${FILE_TYPE}" == "sh" ]; then
elif [ "${FILE_TYPE}" == "sh" ] || [ "${FILE_TYPE}" == "bash" ] ||
[ "${FILE_TYPE}" == "dash" ] || [ "${FILE_TYPE}" == "ksh" ]; then
# Need to check if its a zsh file as we cannot parse it
if CheckZsh "${FILE}"; then
warn "Found [zsh] script"
info "ShellCheck does NOT currently support zsh, skipping file"
else
################################
# Append the file to the array #
################################
@ -199,6 +205,7 @@ function BuildFileList() {
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
##########################################################
READ_ONLY_CHANGE_FLAG=1
fi
######################
# Get the PERL files #
######################
@ -506,6 +513,51 @@ function BuildFileList() {
##############################################
# Use file to see if we can parse what it is #
##############################################
CheckFileType "${FILE}"
fi
done
export READ_ONLY_CHANGE_FLAG # Workaround SC2034
#########################################
# Need to switch back to branch of code #
#########################################
SWITCH2_CMD=$(git -C "${GITHUB_WORKSPACE}" checkout --progress --force "${GITHUB_SHA}" 2>&1)
#######################
# Load the error code #
#######################
ERROR_CODE=$?
##############################
# Check the shell for errors #
##############################
if [ ${ERROR_CODE} -ne 0 ]; then
# Error
error "Failed to switch back to branch!"
fatal "[${SWITCH2_CMD}]"
fi
################
# Footer print #
################
info "----------------------------------------------"
info "Successfully gathered list of files..."
}
################################################################################
#### Function CheckFileType ####################################################
function CheckFileType() {
# Need to run the file through the 'file' exec to help determine
# The type of file being parsed
################
# Pull in Vars #
################
FILE="$1"
##################
# Check the file #
##################
GET_FILE_TYPE_CMD=$(file "${FILE}" 2>&1)
#################
@ -539,6 +591,12 @@ function BuildFileList() {
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
##########################################################
READ_ONLY_CHANGE_FLAG=1
elif [[ ${GET_FILE_TYPE_CMD} == *"zsh script"* ]]; then
######################
# It is a ZSH script #
######################
warn "Found [zsh] script"
info "ShellCheck does NOT currently support zsh, skipping file"
else
############################
# Extension was not found! #
@ -549,33 +607,37 @@ function BuildFileList() {
##########################################################
READ_ONLY_CHANGE_FLAG=1
fi
fi
done
export READ_ONLY_CHANGE_FLAG # Workaround SC2034
#########################################
# Need to switch back to branch of code #
#########################################
SWITCH2_CMD=$(git -C "${GITHUB_WORKSPACE}" checkout --progress --force "${GITHUB_SHA}" 2>&1)
#######################
# Load the error code #
#######################
ERROR_CODE=$?
##############################
# Check the shell for errors #
##############################
if [ ${ERROR_CODE} -ne 0 ]; then
# Error
error "Failed to switch back to branch!"
fatal "[${SWITCH2_CMD}]"
fi
################
# Footer print #
################
info "----------------------------------------------"
info "Successfully gathered list of files..."
}
################################################################################
#### Function CheckZsh #########################################################
function CheckZsh() {
# Spagetti code to make sure were properly excluding zsh
# until we get a proper linter
################
# Pull in Vars #
################
FILE="$1"
##################
# Check the file #
##################
GET_FILE_TYPE_CMD=$(file "${FILE}" 2>&1)
if [[ ${GET_FILE_TYPE_CMD} == *"zsh script"* ]]; then
######################
# It is a ZSH script #
######################
warn "Found [zsh] script"
info "ShellCheck does NOT currently support zsh, skipping file"
###################################################
# We found zsh file and need to return with a hit #
###################################################
return 0
else
##################
# Not a zsh file #
##################
return 1
fi
}