mirror of
https://github.com/super-linter/super-linter.git
synced 2024-12-22 07:12:11 -05:00
Variable braces
This commit is contained in:
parent
1cfe0d5679
commit
9451e491c4
11 changed files with 726 additions and 726 deletions
|
@ -51,25 +51,25 @@ ValidateInput() {
|
|||
############################
|
||||
# Validate GITHUB_WORKSPACE #
|
||||
############################
|
||||
if [ -z "$GITHUB_WORKSPACE" ]; then
|
||||
if [ -z "${GITHUB_WORKSPACE}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [GITHUB_WORKSPACE]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$GITHUB_WORKSPACE]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${GITHUB_WORKSPACE}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully found:[GITHUB_WORKSPACE], value:[$GITHUB_WORKSPACE]"
|
||||
echo "Successfully found:[GITHUB_WORKSPACE], value:[${GITHUB_WORKSPACE}]"
|
||||
fi
|
||||
|
||||
#######################
|
||||
# Validate IMAGE_REPO #
|
||||
#######################
|
||||
if [ -z "$IMAGE_REPO" ]; then
|
||||
if [ -z "${IMAGE_REPO}" ]; then
|
||||
# No repo was pulled
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [IMAGE_REPO]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$IMAGE_REPO]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${IMAGE_REPO}]${NC}"
|
||||
exit 1
|
||||
elif [[ $IMAGE_REPO == "github/super-linter" ]]; then
|
||||
elif [[ ${IMAGE_REPO} == "github/super-linter" ]]; then
|
||||
# Found our main repo
|
||||
echo "Successfully found:[IMAGE_REPO], value:[$IMAGE_REPO]"
|
||||
echo "Successfully found:[IMAGE_REPO], value:[${IMAGE_REPO}]"
|
||||
else
|
||||
# This is a fork and we cant pull vars or any info
|
||||
echo -e "${NC}${F[Y]}WARN!${NC} No image to cleanup as this is a forked branch, and not being built with current automation!${NC}"
|
||||
|
@ -79,31 +79,31 @@ ValidateInput() {
|
|||
##########################
|
||||
# Validate IMAGE_VERSION #
|
||||
##########################
|
||||
if [ -z "$IMAGE_VERSION" ]; then
|
||||
if [ -z "${IMAGE_VERSION}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [IMAGE_VERSION]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$IMAGE_VERSION]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${IMAGE_VERSION}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully found:[IMAGE_VERSION], value:[$IMAGE_VERSION]"
|
||||
echo "Successfully found:[IMAGE_VERSION], value:[${IMAGE_VERSION}]"
|
||||
fi
|
||||
|
||||
############################
|
||||
# Validate DOCKER_USERNAME #
|
||||
############################
|
||||
if [ -z "$DOCKER_USERNAME" ]; then
|
||||
if [ -z "${DOCKER_USERNAME}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [DOCKER_USERNAME]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$DOCKER_USERNAME]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${DOCKER_USERNAME}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully found:[DOCKER_USERNAME], value:[$DOCKER_USERNAME]"
|
||||
echo "Successfully found:[DOCKER_USERNAME], value:[${DOCKER_USERNAME}]"
|
||||
fi
|
||||
|
||||
############################
|
||||
# Validate DOCKER_PASSWORD #
|
||||
############################
|
||||
if [ -z "$DOCKER_PASSWORD" ]; then
|
||||
if [ -z "${DOCKER_PASSWORD}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [DOCKER_PASSWORD]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$DOCKER_PASSWORD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${DOCKER_PASSWORD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully found:[DOCKER_PASSWORD], value:[********]"
|
||||
|
@ -112,11 +112,11 @@ ValidateInput() {
|
|||
##################################################
|
||||
# Check if we need to get the name of the branch #
|
||||
##################################################
|
||||
if [[ $IMAGE_VERSION != "latest" ]]; then
|
||||
if [[ ${IMAGE_VERSION} != "latest" ]]; then
|
||||
##################################
|
||||
# Remove non alpha-numeric chars #
|
||||
##################################
|
||||
IMAGE_VERSION=$(echo "$IMAGE_VERSION" | tr -cd '[:alnum:]')
|
||||
IMAGE_VERSION=$(echo "${IMAGE_VERSION}" | tr -cd '[:alnum:]')
|
||||
else
|
||||
#############################################
|
||||
# Image is 'latest' and we will not destroy #
|
||||
|
@ -142,7 +142,7 @@ LoginToDocker() {
|
|||
######################
|
||||
# Login to DockerHub #
|
||||
######################
|
||||
LOGIN_CMD=$(docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD" 2>&1)
|
||||
LOGIN_CMD=$(docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -152,10 +152,10 @@ LoginToDocker() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# ERROR
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to authenticate to DockerHub!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$LOGIN_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${LOGIN_CMD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
# SUCCESS
|
||||
|
@ -170,7 +170,7 @@ RemoveImage() {
|
|||
################
|
||||
echo ""
|
||||
echo "----------------------------------------------"
|
||||
echo "Removing the DockerFile image:[$IMAGE_REPO:$IMAGE_VERSION]"
|
||||
echo "Removing the DockerFile image:[${IMAGE_REPO}:${IMAGE_VERSION}]"
|
||||
echo "----------------------------------------------"
|
||||
echo ""
|
||||
|
||||
|
@ -180,7 +180,7 @@ RemoveImage() {
|
|||
TOKEN=$(curl -s -k \
|
||||
-H "Content-Type: application/json" \
|
||||
-X POST \
|
||||
-d "{\"username\": \"$DOCKER_USERNAME\", \"password\": \"$DOCKER_PASSWORD\"}" \
|
||||
-d "{\"username\": \"${DOCKER_USERNAME}\", \"password\": \"${DOCKER_PASSWORD}\"}" \
|
||||
"https://hub.docker.com/v2/users/login/" | jq -r .token 2>&1)
|
||||
|
||||
#######################
|
||||
|
@ -191,10 +191,10 @@ RemoveImage() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# ERROR
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to gain token from DockerHub!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$TOKEN]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${TOKEN}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
# SUCCESS
|
||||
|
@ -204,9 +204,9 @@ RemoveImage() {
|
|||
#################################
|
||||
# Remove the tag from DockerHub #
|
||||
#################################
|
||||
REMOVE_CMD=$(curl "https://hub.docker.com/v2/repositories/$IMAGE_REPO/tags/$IMAGE_VERSION/" \
|
||||
REMOVE_CMD=$(curl "https://hub.docker.com/v2/repositories/${IMAGE_REPO}/tags/${IMAGE_VERSION}/" \
|
||||
-X DELETE \
|
||||
-H "Authorization: JWT $TOKEN" 2>&1)
|
||||
-H "Authorization: JWT ${TOKEN}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the ERROR_CODE #
|
||||
|
@ -216,14 +216,14 @@ RemoveImage() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# ERROR
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to remove tag from DockerHub!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$REMOVE_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${REMOVE_CMD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
# SUCCESS
|
||||
echo "Successfully [removed] Docker image tag:[$IMAGE_VERSION] from DockerHub!"
|
||||
echo "Successfully [removed] Docker image tag:[${IMAGE_VERSION}] from DockerHub!"
|
||||
fi
|
||||
}
|
||||
################################################################################
|
||||
|
|
|
@ -26,23 +26,23 @@ CheckGHEPid()
|
|||
##################################
|
||||
# Check to prevent infinite loop #
|
||||
##################################
|
||||
if [ $PID_CHECK -gt $PID_CHECK_LIMIT ]; then
|
||||
if [ ${PID_CHECK} -gt ${PID_CHECK_LIMIT} ]; then
|
||||
# Over the limit, move on
|
||||
echo "We have checked the pid $PID_CHECK times, moving on..."
|
||||
echo "We have checked the pid ${PID_CHECK} times, moving on..."
|
||||
else
|
||||
################################################
|
||||
# Check to see if the PID is alive and running #
|
||||
################################################
|
||||
if [ ! -f "$GHE_CONFIG_PID" ]; then
|
||||
if [ ! -f "${GHE_CONFIG_PID}" ]; then
|
||||
# File not found
|
||||
echo "We're good to move forward, no .pid file found at:[$GHE_CONFIG_PID]"
|
||||
echo "We're good to move forward, no .pid file found at:[${GHE_CONFIG_PID}]"
|
||||
else
|
||||
# Found the pid running, need to sleep
|
||||
echo "Current PID found, sleeping $SLEEP_SECONDS seconds before next check..."
|
||||
echo "Current PID found, sleeping ${SLEEP_SECONDS} seconds before next check..."
|
||||
################
|
||||
# Sleep it off #
|
||||
################
|
||||
SLEEP_CMD=$(sleep $SLEEP_SECONDS 2>&1)
|
||||
SLEEP_CMD=$(sleep ${SLEEP_SECONDS} 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -52,9 +52,9 @@ CheckGHEPid()
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to sleep!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$SLEEP_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${SLEEP_CMD}]${NC}"
|
||||
echo "Will try to call apply as last effort..."
|
||||
####################################
|
||||
# Call config apply as last effort #
|
||||
|
@ -80,14 +80,14 @@ CheckGHEProcess()
|
|||
##################################
|
||||
# Check to prevent infinite loop #
|
||||
##################################
|
||||
if [ $PROCESS_CHECK -gt $PROCESS_CHECK_LIMIT ]; then
|
||||
if [ ${PROCESS_CHECK} -gt ${PROCESS_CHECK_LIMIT} ]; then
|
||||
# Over the limit, move on
|
||||
echo "We have checked the process $PROCESS_CHECK times, moving on..."
|
||||
echo "We have checked the process ${PROCESS_CHECK} times, moving on..."
|
||||
else
|
||||
####################################################
|
||||
# Check to see if the process is alive and running #
|
||||
####################################################
|
||||
CHECK_PROCESS_CMD=$(pgrep -f "$GHE_APPLY_COMMAND" 2>&1)
|
||||
CHECK_PROCESS_CMD=$(pgrep -f "${GHE_APPLY_COMMAND}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -97,16 +97,16 @@ CheckGHEProcess()
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# No process running on the system
|
||||
echo "Were good to move forward, no process like:[$GHE_APPLY_COMMAND] running currently on the system"
|
||||
echo "Were good to move forward, no process like:[${GHE_APPLY_COMMAND}] running currently on the system"
|
||||
else
|
||||
# Found the process running, need to sleep
|
||||
echo "Current process alive:[$CHECK_PROCESS_CMD], sleeping $SLEEP_SECONDS seconds before next check..."
|
||||
echo "Current process alive:[${CHECK_PROCESS_CMD}], sleeping ${SLEEP_SECONDS} seconds before next check..."
|
||||
################
|
||||
# Sleep it off #
|
||||
################
|
||||
SLEEP_CMD=$(sleep $SLEEP_SECONDS 2>&1)
|
||||
SLEEP_CMD=$(sleep ${SLEEP_SECONDS} 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -116,9 +116,9 @@ CheckGHEProcess()
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to sleep!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$SLEEP_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${SLEEP_CMD}]${NC}"
|
||||
echo "Will try to call apply as last effort..."
|
||||
####################################
|
||||
# Call config apply as last effort #
|
||||
|
@ -144,7 +144,7 @@ RunConfigApply()
|
|||
##########
|
||||
# Header #
|
||||
##########
|
||||
echo "Running $GHE_APPLY_COMMAND to the server..."
|
||||
echo "Running ${GHE_APPLY_COMMAND} to the server..."
|
||||
|
||||
##############################################
|
||||
# Run the command to apply changes to server #
|
||||
|
@ -159,14 +159,14 @@ RunConfigApply()
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# Errors
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to run config apply command!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$APPLY_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${APPLY_CMD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
# Success
|
||||
echo -e "${NC}${F[B]}Successfully ran ${F[C]}$GHE_APPLY_COMMAND${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully ran ${F[C]}${GHE_APPLY_COMMAND}${NC}"
|
||||
fi
|
||||
}
|
||||
################################################################################
|
||||
|
|
|
@ -7,11 +7,11 @@ HELLO_WORLD=$(echo "Hello World" | cut -f1 -d' ' 2>&1)
|
|||
ERROR_CODE=$?
|
||||
|
||||
# Check the shell
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
echo "We did it!"
|
||||
exit 0
|
||||
else
|
||||
echo "We done goofed it..."
|
||||
echo "$HELLO_WORLD"
|
||||
echo "${HELLO_WORLD}"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
@ -37,7 +37,7 @@ UPDATE_MAJOR_TAG=0 # Flag to deploy the major tag version as
|
|||
Header() {
|
||||
echo ""
|
||||
echo "-------------------------------------------------------"
|
||||
echo "---- GitHub Actions Upload image to [$REGISTRY] ----"
|
||||
echo "---- GitHub Actions Upload image to [${REGISTRY}] ----"
|
||||
echo "-------------------------------------------------------"
|
||||
echo ""
|
||||
}
|
||||
|
@ -57,46 +57,46 @@ ValidateInput() {
|
|||
#############################
|
||||
# Validate GITHUB_WORKSPACE #
|
||||
#############################
|
||||
if [ -z "$GITHUB_WORKSPACE" ]; then
|
||||
if [ -z "${GITHUB_WORKSPACE}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [GITHUB_WORKSPACE]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$GITHUB_WORKSPACE]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${GITHUB_WORKSPACE}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[GITHUB_WORKSPACE]${F[B]}, value:${F[W]}[$GITHUB_WORKSPACE]${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[GITHUB_WORKSPACE]${F[B]}, value:${F[W]}[${GITHUB_WORKSPACE}]${NC}"
|
||||
fi
|
||||
|
||||
#####################
|
||||
# Validate REGISTRY #
|
||||
#####################
|
||||
if [ -z "$REGISTRY" ]; then
|
||||
if [ -z "${REGISTRY}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [REGISTRY]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$REGISTRY]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${REGISTRY}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[REGISTRY]${F[B]}, value:${F[W]}[$REGISTRY]${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[REGISTRY]${F[B]}, value:${F[W]}[${REGISTRY}]${NC}"
|
||||
fi
|
||||
|
||||
#####################################################
|
||||
# See if we need values for GitHub package Registry #
|
||||
#####################################################
|
||||
if [[ $REGISTRY == "GPR" ]]; then
|
||||
if [[ ${REGISTRY} == "GPR" ]]; then
|
||||
#########################
|
||||
# Validate GPR_USERNAME #
|
||||
#########################
|
||||
if [ -z "$GPR_USERNAME" ]; then
|
||||
if [ -z "${GPR_USERNAME}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [GPR_USERNAME]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$GPR_USERNAME]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${GPR_USERNAME}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[GPR_USERNAME]${F[B]}, value:${F[W]}[$GPR_USERNAME]${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[GPR_USERNAME]${F[B]}, value:${F[W]}[${GPR_USERNAME}]${NC}"
|
||||
fi
|
||||
|
||||
######################
|
||||
# Validate GPR_TOKEN #
|
||||
######################
|
||||
if [ -z "$GPR_TOKEN" ]; then
|
||||
if [ -z "${GPR_TOKEN}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [GPR_TOKEN]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$GPR_TOKEN]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${GPR_TOKEN}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[GPR_TOKEN]${F[B]}, value:${F[W]}[********]${NC}"
|
||||
|
@ -104,24 +104,24 @@ ValidateInput() {
|
|||
########################################
|
||||
# See if we need values for Ducker hub #
|
||||
########################################
|
||||
elif [[ $REGISTRY == "Docker" ]]; then
|
||||
elif [[ ${REGISTRY} == "Docker" ]]; then
|
||||
############################
|
||||
# Validate DOCKER_USERNAME #
|
||||
############################
|
||||
if [ -z "$DOCKER_USERNAME" ]; then
|
||||
if [ -z "${DOCKER_USERNAME}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [DOCKER_USERNAME]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$DOCKER_USERNAME]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${DOCKER_USERNAME}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[DOCKER_USERNAME]${F[B]}, value:${F[W]}[$DOCKER_USERNAME]${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[DOCKER_USERNAME]${F[B]}, value:${F[W]}[${DOCKER_USERNAME}]${NC}"
|
||||
fi
|
||||
|
||||
############################
|
||||
# Validate DOCKER_PASSWORD #
|
||||
############################
|
||||
if [ -z "$DOCKER_PASSWORD" ]; then
|
||||
if [ -z "${DOCKER_PASSWORD}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [DOCKER_PASSWORD]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$DOCKER_PASSWORD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${DOCKER_PASSWORD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[DOCKER_PASSWORD]${F[B]}, value:${F[B]}[********]${NC}"
|
||||
|
@ -131,39 +131,39 @@ ValidateInput() {
|
|||
###########################################
|
||||
else
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to find a valid registry!${NC}"
|
||||
echo "Registry:[$REGISTRY]"
|
||||
echo "Registry:[${REGISTRY}]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#######################
|
||||
# Validate IMAGE_REPO #
|
||||
#######################
|
||||
if [ -z "$IMAGE_REPO" ]; then
|
||||
if [ -z "${IMAGE_REPO}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [IMAGE_REPO]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$IMAGE_REPO]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${IMAGE_REPO}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[IMAGE_REPO]${F[B]}, value:${F[W]}[$IMAGE_REPO]${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[IMAGE_REPO]${F[B]}, value:${F[W]}[${IMAGE_REPO}]${NC}"
|
||||
###############################################
|
||||
# Need to see if GPR registry and update name #
|
||||
###############################################
|
||||
if [[ $REGISTRY == "GPR" ]]; then
|
||||
NAME="docker.pkg.github.com/$IMAGE_REPO/super-linter"
|
||||
IMAGE_REPO="$NAME"
|
||||
echo "Updated [IMAGE_REPO] to:[$IMAGE_REPO] for GPR"
|
||||
if [[ ${REGISTRY} == "GPR" ]]; then
|
||||
NAME="docker.pkg.github.com/${IMAGE_REPO}/super-linter"
|
||||
IMAGE_REPO="${NAME}"
|
||||
echo "Updated [IMAGE_REPO] to:[${IMAGE_REPO}] for GPR"
|
||||
fi
|
||||
fi
|
||||
|
||||
##########################
|
||||
# Validate IMAGE_VERSION #
|
||||
##########################
|
||||
if [ -z "$IMAGE_VERSION" ]; then
|
||||
if [ -z "${IMAGE_VERSION}" ]; then
|
||||
echo -e "${NC}${F[Y]}WARN!${NC} Failed to get [IMAGE_VERSION]!${NC}"
|
||||
echo "Pulling from Branch Name..."
|
||||
##############################
|
||||
# Get the name of the branch #
|
||||
##############################
|
||||
BRANCH_NAME=$(git -C "$GITHUB_WORKSPACE" branch --contains "$GITHUB_SHA" | awk '{print $2}' 2>&1)
|
||||
BRANCH_NAME=$(git -C "${GITHUB_WORKSPACE}" branch --contains "${GITHUB_SHA}" | awk '{print ${2}}' 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -173,24 +173,24 @@ ValidateInput() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get branch name!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$BRANCH_NAME]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${BRANCH_NAME}]${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##################################
|
||||
# Remove non alpha-numeric chars #
|
||||
##################################
|
||||
BRANCH_NAME=$(echo "$BRANCH_NAME" | tr -cd '[:alnum:]')
|
||||
BRANCH_NAME=$(echo "${BRANCH_NAME}" | tr -cd '[:alnum:]')
|
||||
|
||||
############################################
|
||||
# Set the IMAGE_VERSION to the BRANCH_NAME #
|
||||
############################################
|
||||
IMAGE_VERSION="$BRANCH_NAME"
|
||||
echo "Tag:[$IMAGE_VERSION]"
|
||||
IMAGE_VERSION="${BRANCH_NAME}"
|
||||
echo "Tag:[${IMAGE_VERSION}]"
|
||||
else
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[IMAGE_VERSION]${F[B]}, value:${F[W]}[$IMAGE_VERSION]${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[IMAGE_VERSION]${F[B]}, value:${F[W]}[${IMAGE_VERSION}]${NC}"
|
||||
fi
|
||||
|
||||
##################################
|
||||
|
@ -201,31 +201,31 @@ ValidateInput() {
|
|||
######################################################################
|
||||
# Check if this is a latest to a versioned release at create new tag #
|
||||
######################################################################
|
||||
if [[ $IMAGE_VERSION =~ $REGEX ]]; then
|
||||
if [[ ${IMAGE_VERSION} =~ ${REGEX} ]]; then
|
||||
# Need to get the major version, and set flag to update
|
||||
|
||||
#####################
|
||||
# Set the major tag #
|
||||
#####################
|
||||
MAJOR_TAG=$(echo "$IMAGE_VERSION" | cut -d '.' -f1)
|
||||
MAJOR_TAG=$(echo "${IMAGE_VERSION}" | cut -d '.' -f1)
|
||||
|
||||
###################################
|
||||
# Set flag for updating major tag #
|
||||
###################################
|
||||
UPDATE_MAJOR_TAG=1
|
||||
|
||||
echo "- Also deploying a major tag of:[$MAJOR_TAG]"
|
||||
echo "- Also deploying a major tag of:[${MAJOR_TAG}]"
|
||||
fi
|
||||
|
||||
############################
|
||||
# Validate DOCKERFILE_PATH #
|
||||
############################
|
||||
if [ -z "$DOCKERFILE_PATH" ]; then
|
||||
if [ -z "${DOCKERFILE_PATH}" ]; then
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get [DOCKERFILE_PATH]!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$DOCKERFILE_PATH]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${DOCKERFILE_PATH}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[DOCKERFILE_PATH]${F[B]}, value:${F[W]}[$DOCKERFILE_PATH]${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully found:${F[W]}[DOCKERFILE_PATH]${F[B]}, value:${F[W]}[${DOCKERFILE_PATH}]${NC}"
|
||||
fi
|
||||
}
|
||||
################################################################################
|
||||
|
@ -234,24 +234,24 @@ Authenticate() {
|
|||
################
|
||||
# Pull in Vars #
|
||||
################
|
||||
USERNAME="$1" # Name to auth with
|
||||
PASSWORD="$2" # Password to auth with
|
||||
URL="$3" # Url to auth towards
|
||||
NAME="$4" # name of the service
|
||||
USERNAME="${1}" # Name to auth with
|
||||
PASSWORD="${2}" # Password to auth with
|
||||
URL="${3}" # Url to auth towards
|
||||
NAME="${4}" # name of the service
|
||||
|
||||
################
|
||||
# Print header #
|
||||
################
|
||||
echo ""
|
||||
echo "----------------------------------------------"
|
||||
echo "Login to $NAME..."
|
||||
echo "Login to ${NAME}..."
|
||||
echo "----------------------------------------------"
|
||||
echo ""
|
||||
|
||||
###################
|
||||
# Auth to service #
|
||||
###################
|
||||
LOGIN_CMD=$(docker login "$URL" --username "$USERNAME" --password "$PASSWORD" 2>&1)
|
||||
LOGIN_CMD=$(docker login "${URL}" --username "${USERNAME}" --password "${PASSWORD}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -261,14 +261,14 @@ Authenticate() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# ERROR
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to authenticate to $NAME!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$LOGIN_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to authenticate to ${NAME}!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${LOGIN_CMD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
# SUCCESS
|
||||
echo -e "${NC}${F[B]}Successfully authenticated to ${F[C]}$NAME${F[B]}!${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully authenticated to ${F[C]}${NAME}${F[B]}!${NC}"
|
||||
fi
|
||||
}
|
||||
################################################################################
|
||||
|
@ -286,9 +286,9 @@ BuildImage() {
|
|||
################################
|
||||
# Validate the DOCKERFILE_PATH #
|
||||
################################
|
||||
if [ ! -f "$DOCKERFILE_PATH" ]; then
|
||||
if [ ! -f "${DOCKERFILE_PATH}" ]; then
|
||||
# No file found
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} failed to find Dockerfile at:[$DOCKERFILE_PATH]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} failed to find Dockerfile at:[${DOCKERFILE_PATH}]${NC}"
|
||||
echo "Please make sure you give full path!"
|
||||
echo "Example:[/configs/Dockerfile] or [Dockerfile] if at root directory"
|
||||
exit 1
|
||||
|
@ -297,7 +297,7 @@ BuildImage() {
|
|||
###################
|
||||
# Build the image #
|
||||
###################
|
||||
docker build --no-cache -t "$IMAGE_REPO:$IMAGE_VERSION" -f "$DOCKERFILE_PATH" . 2>&1
|
||||
docker build --no-cache -t "${IMAGE_REPO}:${IMAGE_VERSION}" -f "${DOCKERFILE_PATH}" . 2>&1
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -307,7 +307,7 @@ BuildImage() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# ERROR
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} failed to [build] Dockerfile!${NC}"
|
||||
exit 1
|
||||
|
@ -319,9 +319,9 @@ BuildImage() {
|
|||
########################################################
|
||||
# Need to see if we need to tag a major update as well #
|
||||
########################################################
|
||||
if [ $UPDATE_MAJOR_TAG -eq 1 ]; then
|
||||
if [ ${UPDATE_MAJOR_TAG} -eq 1 ]; then
|
||||
# Tag the image with the major tag as well
|
||||
docker build -t "$IMAGE_REPO:$MAJOR_TAG" -f "$DOCKERFILE_PATH" . 2>&1
|
||||
docker build -t "${IMAGE_REPO}:${MAJOR_TAG}" -f "${DOCKERFILE_PATH}" . 2>&1
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -331,7 +331,7 @@ BuildImage() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# ERROR
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} failed to [tag] Dockerfile!${NC}"
|
||||
exit 1
|
||||
|
@ -349,14 +349,14 @@ UploadImage() {
|
|||
################
|
||||
echo ""
|
||||
echo "----------------------------------------------"
|
||||
echo "Uploading the DockerFile image to $REGISTRY..."
|
||||
echo "Uploading the DockerFile image to ${REGISTRY}..."
|
||||
echo "----------------------------------------------"
|
||||
echo ""
|
||||
|
||||
############################################
|
||||
# Upload the docker image that was created #
|
||||
############################################
|
||||
docker push "$IMAGE_REPO:$IMAGE_VERSION" 2>&1
|
||||
docker push "${IMAGE_REPO}:${IMAGE_VERSION}" 2>&1
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -366,20 +366,20 @@ UploadImage() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# ERROR
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} failed to [upload] Dockerfile!${NC}"
|
||||
exit 1
|
||||
else
|
||||
# SUCCESS
|
||||
echo -e "${NC}${F[B]}Successfully Uploaded Docker image:${F[W]}[$IMAGE_VERSION]${F[B]} to ${F[C]}$REGISTRY${F[B]}!${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully Uploaded Docker image:${F[W]}[${IMAGE_VERSION}]${F[B]} to ${F[C]}${REGISTRY}${F[B]}!${NC}"
|
||||
fi
|
||||
|
||||
#########################
|
||||
# Get Image information #
|
||||
#########################
|
||||
IFS=$'\n' # Set the delimit to newline
|
||||
GET_INFO_CMD=$(docker images | grep "$IMAGE_REPO" | grep "$IMAGE_VERSION" 2>&1)
|
||||
GET_INFO_CMD=$(docker images | grep "${IMAGE_REPO}" | grep "${IMAGE_VERSION}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -389,18 +389,18 @@ UploadImage() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# ERROR
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to get information about built Image!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$GET_INFO_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${GET_INFO_CMD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
################
|
||||
# Get the data #
|
||||
################
|
||||
REPO=$(echo "$GET_INFO_CMD" | awk '{print $1}')
|
||||
TAG=$(echo "$GET_INFO_CMD" | awk '{print $2}')
|
||||
IMAGE_ID=$(echo "$GET_INFO_CMD" | awk '{print $3}')
|
||||
REPO=$(echo "${GET_INFO_CMD}" | awk '{print ${1}}')
|
||||
TAG=$(echo "${GET_INFO_CMD}" | awk '{print ${2}}')
|
||||
IMAGE_ID=$(echo "${GET_INFO_CMD}" | awk '{print ${3}}')
|
||||
SIZE="${GET_INFO_CMD##* }"
|
||||
|
||||
###################
|
||||
|
@ -408,21 +408,21 @@ UploadImage() {
|
|||
###################
|
||||
echo "----------------------------------------------"
|
||||
echo "Docker Image Details:"
|
||||
echo "Repository:[$REPO]"
|
||||
echo "Tag:[$TAG]"
|
||||
echo "Image_ID:[$IMAGE_ID]"
|
||||
echo "Size:[$SIZE]"
|
||||
echo "Repository:[${REPO}]"
|
||||
echo "Tag:[${TAG}]"
|
||||
echo "Image_ID:[${IMAGE_ID}]"
|
||||
echo "Size:[${SIZE}]"
|
||||
echo "----------------------------------------------"
|
||||
fi
|
||||
|
||||
###############################################################
|
||||
# Check if we need to upload the major tagged version as well #
|
||||
###############################################################
|
||||
if [ $UPDATE_MAJOR_TAG -eq 1 ]; then
|
||||
if [ ${UPDATE_MAJOR_TAG} -eq 1 ]; then
|
||||
############################################
|
||||
# Upload the docker image that was created #
|
||||
############################################
|
||||
docker push "$IMAGE_REPO:$MAJOR_TAG" 2>&1
|
||||
docker push "${IMAGE_REPO}:${MAJOR_TAG}" 2>&1
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -432,13 +432,13 @@ UploadImage() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# ERROR
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} failed to [upload] MAJOR_TAG:[$MAJOR_TAG] Dockerfile!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} failed to [upload] MAJOR_TAG:[${MAJOR_TAG}] Dockerfile!${NC}"
|
||||
exit 1
|
||||
else
|
||||
# SUCCESS
|
||||
echo -e "${NC}${F[B]}Successfully Uploaded TAG:${F[W]}[$MAJOR_TAG]${F[B]} of Docker image to ${F[C]}$REGISTRY${F[B]}!${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully Uploaded TAG:${F[W]}[${MAJOR_TAG}]${F[B]} of Docker image to ${F[C]}${REGISTRY}${F[B]}!${NC}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -473,23 +473,23 @@ BuildImage
|
|||
######################
|
||||
# Login to DockerHub #
|
||||
######################
|
||||
if [[ $REGISTRY == "Docker" ]]; then
|
||||
if [[ ${REGISTRY} == "Docker" ]]; then
|
||||
# Authenticate "Username" "Password" "Url" "Name"
|
||||
Authenticate "$DOCKER_USERNAME" "$DOCKER_PASSWORD" "" "Dockerhub"
|
||||
Authenticate "${DOCKER_USERNAME}" "${DOCKER_PASSWORD}" "" "Dockerhub"
|
||||
|
||||
####################################
|
||||
# Login to GitHub Package Registry #
|
||||
####################################
|
||||
elif [[ $REGISTRY == "GPR" ]]; then
|
||||
elif [[ ${REGISTRY} == "GPR" ]]; then
|
||||
# Authenticate "Username" "Password" "Url" "Name"
|
||||
Authenticate "$GPR_USERNAME" "$GPR_TOKEN" "https://docker.pkg.github.com" "GitHub Package Registry"
|
||||
Authenticate "${GPR_USERNAME}" "${GPR_TOKEN}" "https://docker.pkg.github.com" "GitHub Package Registry"
|
||||
|
||||
else
|
||||
#########
|
||||
# ERROR #
|
||||
#########
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Registry not set correctly!${NC}"
|
||||
echo "Registry:[$REGISTRY]"
|
||||
echo "Registry:[${REGISTRY}]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
6
.vscode/testlinter.sh
vendored
6
.vscode/testlinter.sh
vendored
|
@ -12,9 +12,9 @@ CODE_PATH='/tmp/lint' # Path to code base
|
|||
##################
|
||||
# Check the path #
|
||||
##################
|
||||
if [ ! -L $CODE_PATH ]; then
|
||||
if [ ! -L ${CODE_PATH} ]; then
|
||||
# Create symbolic link
|
||||
ln -s "$PWD"/.automation/test $CODE_PATH
|
||||
ln -s "${PWD}"/.automation/test ${CODE_PATH}
|
||||
fi
|
||||
|
||||
#########################
|
||||
|
@ -23,4 +23,4 @@ fi
|
|||
export RUN_LOCAL=true
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
source "$PWD"/lib/linter.sh
|
||||
source "${PWD}"/lib/linter.sh
|
||||
|
|
|
@ -126,7 +126,7 @@ ENV ARM_TTK_PSD1="${ARM_TTK_DIRECTORY}/arm-ttk-master/arm-ttk/arm-ttk.psd1"
|
|||
RUN curl -sLO "${ARM_TTK_URI}" \
|
||||
&& unzip "${ARM_TTK_NAME}" -d "${ARM_TTK_DIRECTORY}" \
|
||||
&& rm "${ARM_TTK_NAME}" \
|
||||
&& ln -sTf "$ARM_TTK_PSD1" /usr/bin/arm-ttk
|
||||
&& ln -sTf "${ARM_TTK_PSD1}" /usr/bin/arm-ttk
|
||||
|
||||
######################
|
||||
# Install shellcheck #
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
# 'Error'
|
||||
# 'Warning'
|
||||
#)
|
||||
#IncludeDefaultRules=$true
|
||||
#IncludeDefaultRules=${true}
|
||||
#ExcludeRules = @(
|
||||
# 'PSAvoidUsingWriteHost',
|
||||
# 'MyCustomRuleName'
|
||||
|
@ -15,4 +15,4 @@
|
|||
# 'PSAvoidUsingWriteHost',
|
||||
# 'MyCustomRuleName'
|
||||
#)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ function BuildFileList() {
|
|||
################
|
||||
# print header #
|
||||
################
|
||||
if [[ $ACTIONS_RUNNER_DEBUG == "true" ]]; then
|
||||
if [[ ${ACTIONS_RUNNER_DEBUG} == "true" ]]; then
|
||||
echo ""
|
||||
echo "----------------------------------------------"
|
||||
echo "Pulling in code history and branches..."
|
||||
|
@ -26,8 +26,8 @@ function BuildFileList() {
|
|||
# Switch codebase back to the default branch to get a list of all files changed #
|
||||
#################################################################################
|
||||
SWITCH_CMD=$(
|
||||
git -C "$GITHUB_WORKSPACE" pull --quiet
|
||||
git -C "$GITHUB_WORKSPACE" checkout "$DEFAULT_BRANCH" 2>&1
|
||||
git -C "${GITHUB_WORKSPACE}" pull --quiet
|
||||
git -C "${GITHUB_WORKSPACE}" checkout "${DEFAULT_BRANCH}" 2>&1
|
||||
)
|
||||
|
||||
#######################
|
||||
|
@ -38,26 +38,26 @@ function BuildFileList() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# Error
|
||||
echo "Failed to switch to $DEFAULT_BRANCH branch to get files changed!"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$SWITCH_CMD]${NC}"
|
||||
echo "Failed to switch to ${DEFAULT_BRANCH} branch to get files changed!"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${SWITCH_CMD}]${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
################
|
||||
# print header #
|
||||
################
|
||||
if [[ $ACTIONS_RUNNER_DEBUG == "true" ]]; then
|
||||
if [[ ${ACTIONS_RUNNER_DEBUG} == "true" ]]; then
|
||||
echo ""
|
||||
echo "----------------------------------------------"
|
||||
echo "Generating Diff with:[git diff --name-only '$DEFAULT_BRANCH..$GITHUB_SHA' --diff-filter=d]"
|
||||
echo "Generating Diff with:[git diff --name-only '${DEFAULT_BRANCH}..${GITHUB_SHA}' --diff-filter=d]"
|
||||
fi
|
||||
|
||||
#################################################
|
||||
# Get the Array of files changed in the commits #
|
||||
#################################################
|
||||
mapfile -t RAW_FILE_ARRAY < <(git -C "$GITHUB_WORKSPACE" diff --name-only "$DEFAULT_BRANCH..$GITHUB_SHA" --diff-filter=d 2>&1)
|
||||
mapfile -t RAW_FILE_ARRAY < <(git -C "${GITHUB_WORKSPACE}" diff --name-only "${DEFAULT_BRANCH}..${GITHUB_SHA}" --diff-filter=d 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -67,7 +67,7 @@ function BuildFileList() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# Error
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to gain a list of all files changed!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${RAW_FILE_ARRAY[*]}]${NC}"
|
||||
|
@ -86,26 +86,26 @@ function BuildFileList() {
|
|||
###########################
|
||||
# Extract just the file and extension, reverse it, cut off extension,
|
||||
# reverse it back, substitute to lowercase
|
||||
FILE_TYPE=$(basename "$FILE" | rev | cut -f1 -d'.' | rev | awk '{print tolower($0)}')
|
||||
FILE_TYPE=$(basename "${FILE}" | rev | cut -f1 -d'.' | rev | awk '{print tolower(${0})}')
|
||||
|
||||
##############
|
||||
# Print file #
|
||||
##############
|
||||
echo "File:[$FILE], File_type:[$FILE_TYPE]"
|
||||
echo "File:[${FILE}], File_type:[${FILE_TYPE}]"
|
||||
|
||||
#########
|
||||
# DEBUG #
|
||||
#########
|
||||
#echo "FILE_TYPE:[$FILE_TYPE]"
|
||||
#echo "FILE_TYPE:[${FILE_TYPE}]"
|
||||
|
||||
#####################
|
||||
# Get the CFN files #
|
||||
#####################
|
||||
if [ "$FILE_TYPE" == "yml" ] || [ "$FILE_TYPE" == "yaml" ]; then
|
||||
if [ "${FILE_TYPE}" == "yml" ] || [ "${FILE_TYPE}" == "yaml" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_YML+=("$FILE")
|
||||
FILE_ARRAY_YML+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -114,11 +114,11 @@ function BuildFileList() {
|
|||
#####################################
|
||||
# Check if the file is CFN template #
|
||||
#####################################
|
||||
if DetectCloudFormationFile "$FILE"; then
|
||||
if DetectCloudFormationFile "${FILE}"; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_CFN+=("$FILE")
|
||||
FILE_ARRAY_CFN+=("${FILE}")
|
||||
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
|
@ -128,37 +128,37 @@ function BuildFileList() {
|
|||
######################
|
||||
# Get the JSON files #
|
||||
######################
|
||||
elif [ "$FILE_TYPE" == "json" ]; then
|
||||
elif [ "${FILE_TYPE}" == "json" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_JSON+=("$FILE")
|
||||
FILE_ARRAY_JSON+=("${FILE}")
|
||||
############################
|
||||
# Check if file is OpenAPI #
|
||||
############################
|
||||
if DetectOpenAPIFile "$FILE"; then
|
||||
if DetectOpenAPIFile "${FILE}"; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_OPENAPI+=("$FILE")
|
||||
FILE_ARRAY_OPENAPI+=("${FILE}")
|
||||
fi
|
||||
############################
|
||||
# Check if file is ARM #
|
||||
############################
|
||||
if DetectARMFile "$FILE"; then
|
||||
if DetectARMFile "${FILE}"; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_ARM+=("$FILE")
|
||||
FILE_ARRAY_ARM+=("${FILE}")
|
||||
fi
|
||||
#####################################
|
||||
# Check if the file is CFN template #
|
||||
#####################################
|
||||
if DetectCloudFormationFile "$FILE"; then
|
||||
if DetectCloudFormationFile "${FILE}"; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_CFN+=("$FILE")
|
||||
FILE_ARRAY_CFN+=("${FILE}")
|
||||
fi
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
|
@ -167,11 +167,11 @@ function BuildFileList() {
|
|||
#####################
|
||||
# Get the XML files #
|
||||
#####################
|
||||
elif [ "$FILE_TYPE" == "xml" ]; then
|
||||
elif [ "${FILE_TYPE}" == "xml" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_XML+=("$FILE")
|
||||
FILE_ARRAY_XML+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -179,19 +179,19 @@ function BuildFileList() {
|
|||
##########################
|
||||
# Get the MARKDOWN files #
|
||||
##########################
|
||||
elif [ "$FILE_TYPE" == "md" ]; then
|
||||
elif [ "${FILE_TYPE}" == "md" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_MARKDOWN+=("$FILE")
|
||||
FILE_ARRAY_MARKDOWN+=("${FILE}")
|
||||
######################
|
||||
# Get the BASH files #
|
||||
######################
|
||||
elif [ "$FILE_TYPE" == "sh" ]; then
|
||||
elif [ "${FILE_TYPE}" == "sh" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_BASH+=("$FILE")
|
||||
FILE_ARRAY_BASH+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -199,11 +199,11 @@ function BuildFileList() {
|
|||
######################
|
||||
# Get the PERL files #
|
||||
######################
|
||||
elif [ "$FILE_TYPE" == "pl" ]; then
|
||||
elif [ "${FILE_TYPE}" == "pl" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_PERL+=("$FILE")
|
||||
FILE_ARRAY_PERL+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -211,13 +211,13 @@ function BuildFileList() {
|
|||
######################
|
||||
# Get the RAKU files #
|
||||
######################
|
||||
elif [ "$FILE_TYPE" == "raku" ] || [ "$FILE_TYPE" == "rakumod" ] \
|
||||
|| [ "$FILE_TYPE" == "rakutest" ] || [ "$FILE_TYPE" == "pm6" ] \
|
||||
|| [ "$FILE_TYPE" == "pl6" ] || [ "$FILE_TYPE" == "p6" ] ; then
|
||||
elif [ "${FILE_TYPE}" == "raku" ] || [ "${FILE_TYPE}" == "rakumod" ] \
|
||||
|| [ "${FILE_TYPE}" == "rakutest" ] || [ "${FILE_TYPE}" == "pm6" ] \
|
||||
|| [ "${FILE_TYPE}" == "pl6" ] || [ "${FILE_TYPE}" == "p6" ] ; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_RAKU+=("$FILE")
|
||||
FILE_ARRAY_RAKU+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -225,11 +225,11 @@ function BuildFileList() {
|
|||
######################
|
||||
# Get the PHP files #
|
||||
######################
|
||||
elif [ "$FILE_TYPE" == "php" ]; then
|
||||
elif [ "${FILE_TYPE}" == "php" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_PHP+=("$FILE")
|
||||
FILE_ARRAY_PHP+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -237,11 +237,11 @@ function BuildFileList() {
|
|||
######################
|
||||
# Get the RUBY files #
|
||||
######################
|
||||
elif [ "$FILE_TYPE" == "rb" ]; then
|
||||
elif [ "${FILE_TYPE}" == "rb" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_RUBY+=("$FILE")
|
||||
FILE_ARRAY_RUBY+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -249,11 +249,11 @@ function BuildFileList() {
|
|||
########################
|
||||
# Get the PYTHON files #
|
||||
########################
|
||||
elif [ "$FILE_TYPE" == "py" ]; then
|
||||
elif [ "${FILE_TYPE}" == "py" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_PYTHON+=("$FILE")
|
||||
FILE_ARRAY_PYTHON+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -261,11 +261,11 @@ function BuildFileList() {
|
|||
########################
|
||||
# Get the COFFEE files #
|
||||
########################
|
||||
elif [ "$FILE_TYPE" == "coffee" ]; then
|
||||
elif [ "${FILE_TYPE}" == "coffee" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_COFFEESCRIPT+=("$FILE")
|
||||
FILE_ARRAY_COFFEESCRIPT+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -273,12 +273,12 @@ function BuildFileList() {
|
|||
############################
|
||||
# Get the JavaScript files #
|
||||
############################
|
||||
elif [ "$FILE_TYPE" == "js" ]; then
|
||||
elif [ "${FILE_TYPE}" == "js" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_JAVASCRIPT_ES+=("$FILE")
|
||||
FILE_ARRAY_JAVASCRIPT_STANDARD+=("$FILE")
|
||||
FILE_ARRAY_JAVASCRIPT_ES+=("${FILE}")
|
||||
FILE_ARRAY_JAVASCRIPT_STANDARD+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -286,11 +286,11 @@ function BuildFileList() {
|
|||
############################
|
||||
# Get the JSX files #
|
||||
############################
|
||||
elif [ "$FILE_TYPE" == "jsx" ]; then
|
||||
elif [ "${FILE_TYPE}" == "jsx" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_JSX+=("$FILE")
|
||||
FILE_ARRAY_JSX+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -298,11 +298,11 @@ function BuildFileList() {
|
|||
############################
|
||||
# Get the TSX files #
|
||||
############################
|
||||
elif [ "$FILE_TYPE" == "tsx" ]; then
|
||||
elif [ "${FILE_TYPE}" == "tsx" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_TSX+=("$FILE")
|
||||
FILE_ARRAY_TSX+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -313,12 +313,12 @@ function BuildFileList() {
|
|||
############################
|
||||
# Get the TypeScript files #
|
||||
############################
|
||||
elif [ "$FILE_TYPE" == "ts" ]; then
|
||||
elif [ "${FILE_TYPE}" == "ts" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_TYPESCRIPT_ES+=("$FILE")
|
||||
FILE_ARRAY_TYPESCRIPT_STANDARD+=("$FILE")
|
||||
FILE_ARRAY_TYPESCRIPT_ES+=("${FILE}")
|
||||
FILE_ARRAY_TYPESCRIPT_STANDARD+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -326,11 +326,11 @@ function BuildFileList() {
|
|||
########################
|
||||
# Get the Golang files #
|
||||
########################
|
||||
elif [ "$FILE_TYPE" == "go" ]; then
|
||||
elif [ "${FILE_TYPE}" == "go" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_GO+=("$FILE")
|
||||
FILE_ARRAY_GO+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -338,11 +338,11 @@ function BuildFileList() {
|
|||
###########################
|
||||
# Get the Terraform files #
|
||||
###########################
|
||||
elif [ "$FILE_TYPE" == "tf" ]; then
|
||||
elif [ "${FILE_TYPE}" == "tf" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_TERRAFORM+=("$FILE")
|
||||
FILE_ARRAY_TERRAFORM+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -350,34 +350,34 @@ function BuildFileList() {
|
|||
###########################
|
||||
# Get the Powershell files #
|
||||
###########################
|
||||
elif [ "$FILE_TYPE" == "ps1" ]; then
|
||||
elif [ "${FILE_TYPE}" == "ps1" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_POWERSHELL+=("$FILE")
|
||||
elif [ "$FILE_TYPE" == "css" ]; then
|
||||
FILE_ARRAY_POWERSHELL+=("${FILE}")
|
||||
elif [ "${FILE_TYPE}" == "css" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_CSS+=("$FILE")
|
||||
FILE_ARRAY_CSS+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
READ_ONLY_CHANGE_FLAG=1
|
||||
elif [ "$FILE_TYPE" == "env" ]; then
|
||||
elif [ "${FILE_TYPE}" == "env" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_ENV+=("$FILE")
|
||||
FILE_ARRAY_ENV+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
READ_ONLY_CHANGE_FLAG=1
|
||||
elif [ "$FILE_TYPE" == "kt" ] || [ "$FILE_TYPE" == "kts" ]; then
|
||||
elif [ "${FILE_TYPE}" == "kt" ] || [ "${FILE_TYPE}" == "kts" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_KOTLIN+=("$FILE")
|
||||
FILE_ARRAY_KOTLIN+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -385,47 +385,47 @@ function BuildFileList() {
|
|||
############################
|
||||
# Get the Protocol Buffers files #
|
||||
############################
|
||||
elif [ "$FILE_TYPE" == "dart" ]; then
|
||||
elif [ "${FILE_TYPE}" == "dart" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_DART+=("$FILE")
|
||||
FILE_ARRAY_DART+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
READ_ONLY_CHANGE_FLAG=1
|
||||
elif [ "$FILE_TYPE" == "proto" ]; then
|
||||
elif [ "${FILE_TYPE}" == "proto" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_PROTOBUF+=("$FILE")
|
||||
FILE_ARRAY_PROTOBUF+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
READ_ONLY_CHANGE_FLAG=1
|
||||
elif [ "$FILE" == "dockerfile" ] || [ "$FILE_TYPE" == "dockerfile" ]; then
|
||||
elif [ "${FILE}" == "dockerfile" ] || [ "${FILE_TYPE}" == "dockerfile" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_DOCKER+=("$FILE")
|
||||
FILE_ARRAY_DOCKER+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
READ_ONLY_CHANGE_FLAG=1
|
||||
elif [ "$FILE_TYPE" == "clj" ] || [ "$FILE_TYPE" == "cljs" ] || [ "$FILE_TYPE" == "cljc" ] || [ "$FILE_TYPE" == "edn" ]; then
|
||||
elif [ "${FILE_TYPE}" == "clj" ] || [ "${FILE_TYPE}" == "cljs" ] || [ "${FILE_TYPE}" == "cljc" ] || [ "${FILE_TYPE}" == "edn" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_CLOJURE+=("$FILE")
|
||||
FILE_ARRAY_CLOJURE+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
READ_ONLY_CHANGE_FLAG=1
|
||||
elif [ "$FILE_TYPE" == "html" ]; then
|
||||
elif [ "${FILE_TYPE}" == "html" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
##############################p##
|
||||
FILE_ARRAY_HTML+=("$FILE")
|
||||
FILE_ARRAY_HTML+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -434,12 +434,12 @@ function BuildFileList() {
|
|||
##############################################
|
||||
# Use file to see if we can parse what it is #
|
||||
##############################################
|
||||
GET_FILE_TYPE_CMD=$(file "$FILE" 2>&1)
|
||||
GET_FILE_TYPE_CMD=$(file "${FILE}" 2>&1)
|
||||
|
||||
#################
|
||||
# Check if bash #
|
||||
#################
|
||||
if [[ $GET_FILE_TYPE_CMD == *"Bourne-Again shell script"* ]]; then
|
||||
if [[ ${GET_FILE_TYPE_CMD} == *"Bourne-Again shell script"* ]]; then
|
||||
#######################
|
||||
# It is a bash script #
|
||||
#######################
|
||||
|
@ -448,12 +448,12 @@ function BuildFileList() {
|
|||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_BASH+=("$FILE")
|
||||
FILE_ARRAY_BASH+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
READ_ONLY_CHANGE_FLAG=1
|
||||
elif [[ $GET_FILE_TYPE_CMD == *"Ruby script"* ]]; then
|
||||
elif [[ ${GET_FILE_TYPE_CMD} == *"Ruby script"* ]]; then
|
||||
#######################
|
||||
# It is a Ruby script #
|
||||
#######################
|
||||
|
@ -462,7 +462,7 @@ function BuildFileList() {
|
|||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
FILE_ARRAY_RUBY+=("$FILE")
|
||||
FILE_ARRAY_RUBY+=("${FILE}")
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -471,7 +471,7 @@ function BuildFileList() {
|
|||
############################
|
||||
# Extension was not found! #
|
||||
############################
|
||||
echo -e "${NC}${F[Y]} - WARN!${NC} Failed to get filetype for:[$FILE]!${NC}"
|
||||
echo -e "${NC}${F[Y]} - WARN!${NC} Failed to get filetype for:[${FILE}]!${NC}"
|
||||
##########################################################
|
||||
# Set the READ_ONLY_CHANGE_FLAG since this could be exec #
|
||||
##########################################################
|
||||
|
@ -485,7 +485,7 @@ function BuildFileList() {
|
|||
#########################################
|
||||
# Need to switch back to branch of code #
|
||||
#########################################
|
||||
SWITCH2_CMD=$(git -C "$GITHUB_WORKSPACE" checkout --progress --force "$GITHUB_SHA" 2>&1)
|
||||
SWITCH2_CMD=$(git -C "${GITHUB_WORKSPACE}" checkout --progress --force "${GITHUB_SHA}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -495,10 +495,10 @@ function BuildFileList() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# Error
|
||||
echo "Failed to switch back to branch!"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$SWITCH2_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${SWITCH2_CMD}]${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
442
lib/linter.sh
442
lib/linter.sh
File diff suppressed because it is too large
Load diff
|
@ -20,7 +20,7 @@ function GetValidationInfo() {
|
|||
###########################################
|
||||
# Skip validation if were running locally #
|
||||
###########################################
|
||||
if [[ $RUN_LOCAL != "true" ]]; then
|
||||
if [[ ${RUN_LOCAL} != "true" ]]; then
|
||||
###############################
|
||||
# Convert string to lowercase #
|
||||
###############################
|
||||
|
@ -28,9 +28,9 @@ function GetValidationInfo() {
|
|||
######################################
|
||||
# Validate we should check all files #
|
||||
######################################
|
||||
if [[ $VALIDATE_ALL_CODEBASE != "false" ]]; then
|
||||
if [[ ${VALIDATE_ALL_CODEBASE} != "false" ]]; then
|
||||
# Set to true
|
||||
VALIDATE_ALL_CODEBASE="$DEFAULT_VALIDATE_ALL_CODEBASE"
|
||||
VALIDATE_ALL_CODEBASE="${DEFAULT_VALIDATE_ALL_CODEBASE}"
|
||||
echo "- Validating ALL files in code base..."
|
||||
else
|
||||
# Its false
|
||||
|
@ -83,45 +83,45 @@ function GetValidationInfo() {
|
|||
# Determine if any linters were explicitly set #
|
||||
################################################
|
||||
ANY_SET="false"
|
||||
if [[ -n $VALIDATE_YAML || -n \
|
||||
$VALIDATE_JSON || -n \
|
||||
$VALIDATE_XML || -n \
|
||||
$VALIDATE_MARKDOWN || -n \
|
||||
$VALIDATE_BASH || -n \
|
||||
$VALIDATE_PERL || -n \
|
||||
$VALIDATE_RAKU || -n \
|
||||
$VALIDATE_PHP || -n \
|
||||
$VALIDATE_PYTHON || -n \
|
||||
$VALIDATE_RUBY || -n \
|
||||
$VALIDATE_COFFEE || -n \
|
||||
$VALIDATE_ANSIBLE || -n \
|
||||
$VALIDATE_JAVASCRIPT_ES || -n \
|
||||
$VALIDATE_JAVASCRIPT_STANDARD || -n \
|
||||
$VALIDATE_TYPESCRIPT_ES || -n \
|
||||
$VALIDATE_TYPESCRIPT_STANDARD || -n \
|
||||
$VALIDATE_DOCKER || -n \
|
||||
$VALIDATE_GO || -n \
|
||||
$VALIDATE_TERRAFORM || -n \
|
||||
$VALIDATE_POWERSHELL || -n \
|
||||
$VALIDATE_ARM || -n \
|
||||
$VALIDATE_CSS || -n \
|
||||
$VALIDATE_ENV || -n \
|
||||
$VALIDATE_CLOJURE || -n \
|
||||
$VALIDATE_PROTOBUF || -n \
|
||||
$VALIDATE_OPENAPI || -n \
|
||||
$VALIDATE_KOTLIN || -n \
|
||||
$VALIDATE_DART || -n \
|
||||
$VALIDATE_EDITORCONFIG || -n \
|
||||
$VALIDATE_HTML ]]; then
|
||||
if [[ -n ${VALIDATE_YAML} || -n \
|
||||
${VALIDATE_JSON} || -n \
|
||||
${VALIDATE_XML} || -n \
|
||||
${VALIDATE_MARKDOWN} || -n \
|
||||
${VALIDATE_BASH} || -n \
|
||||
${VALIDATE_PERL} || -n \
|
||||
${VALIDATE_RAKU} || -n \
|
||||
${VALIDATE_PHP} || -n \
|
||||
${VALIDATE_PYTHON} || -n \
|
||||
${VALIDATE_RUBY} || -n \
|
||||
${VALIDATE_COFFEE} || -n \
|
||||
${VALIDATE_ANSIBLE} || -n \
|
||||
${VALIDATE_JAVASCRIPT_ES} || -n \
|
||||
${VALIDATE_JAVASCRIPT_STANDARD} || -n \
|
||||
${VALIDATE_TYPESCRIPT_ES} || -n \
|
||||
${VALIDATE_TYPESCRIPT_STANDARD} || -n \
|
||||
${VALIDATE_DOCKER} || -n \
|
||||
${VALIDATE_GO} || -n \
|
||||
${VALIDATE_TERRAFORM} || -n \
|
||||
${VALIDATE_POWERSHELL} || -n \
|
||||
${VALIDATE_ARM} || -n \
|
||||
${VALIDATE_CSS} || -n \
|
||||
${VALIDATE_ENV} || -n \
|
||||
${VALIDATE_CLOJURE} || -n \
|
||||
${VALIDATE_PROTOBUF} || -n \
|
||||
${VALIDATE_OPENAPI} || -n \
|
||||
${VALIDATE_KOTLIN} || -n \
|
||||
${VALIDATE_DART} || -n \
|
||||
${VALIDATE_EDITORCONFIG} || -n \
|
||||
${VALIDATE_HTML} ]]; then
|
||||
ANY_SET="true"
|
||||
fi
|
||||
|
||||
####################################
|
||||
# Validate if we should check YAML #
|
||||
####################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_YAML ]]; then
|
||||
if [[ -z ${VALIDATE_YAML} ]]; then
|
||||
# YAML flag was not set - default to false
|
||||
VALIDATE_YAML="false"
|
||||
fi
|
||||
|
@ -133,9 +133,9 @@ function GetValidationInfo() {
|
|||
####################################
|
||||
# Validate if we should check JSON #
|
||||
####################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_JSON ]]; then
|
||||
if [[ -z ${VALIDATE_JSON} ]]; then
|
||||
# JSON flag was not set - default to false
|
||||
VALIDATE_JSON="false"
|
||||
fi
|
||||
|
@ -147,9 +147,9 @@ function GetValidationInfo() {
|
|||
###################################
|
||||
# Validate if we should check XML #
|
||||
###################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_XML ]]; then
|
||||
if [[ -z ${VALIDATE_XML} ]]; then
|
||||
# XML flag was not set - default to false
|
||||
VALIDATE_XML="false"
|
||||
fi
|
||||
|
@ -161,9 +161,9 @@ function GetValidationInfo() {
|
|||
########################################
|
||||
# Validate if we should check MARKDOWN #
|
||||
########################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_MARKDOWN ]]; then
|
||||
if [[ -z ${VALIDATE_MARKDOWN} ]]; then
|
||||
# MD flag was not set - default to false
|
||||
VALIDATE_MARKDOWN="false"
|
||||
fi
|
||||
|
@ -175,9 +175,9 @@ function GetValidationInfo() {
|
|||
####################################
|
||||
# Validate if we should check BASH #
|
||||
####################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_BASH ]]; then
|
||||
if [[ -z ${VALIDATE_BASH} ]]; then
|
||||
# BASH flag was not set - default to false
|
||||
VALIDATE_BASH="false"
|
||||
fi
|
||||
|
@ -189,9 +189,9 @@ function GetValidationInfo() {
|
|||
####################################
|
||||
# Validate if we should check PERL #
|
||||
####################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_PERL ]]; then
|
||||
if [[ -z ${VALIDATE_PERL} ]]; then
|
||||
# PERL flag was not set - default to false
|
||||
VALIDATE_PERL="false"
|
||||
fi
|
||||
|
@ -203,9 +203,9 @@ function GetValidationInfo() {
|
|||
####################################
|
||||
# Validate if we should check RAKU #
|
||||
####################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_RAKU ]]; then
|
||||
if [[ -z ${VALIDATE_RAKU} ]]; then
|
||||
# RAKU flag was not set - default to false
|
||||
VALIDATE_RAKU="false"
|
||||
fi
|
||||
|
@ -217,9 +217,9 @@ function GetValidationInfo() {
|
|||
####################################
|
||||
# Validate if we should check PHP #
|
||||
####################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_PHP ]]; then
|
||||
if [[ -z ${VALIDATE_PHP} ]]; then
|
||||
# PHP flag was not set - default to false
|
||||
VALIDATE_PHP="false"
|
||||
fi
|
||||
|
@ -231,9 +231,9 @@ function GetValidationInfo() {
|
|||
######################################
|
||||
# Validate if we should check PYTHON #
|
||||
######################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_PYTHON ]]; then
|
||||
if [[ -z ${VALIDATE_PYTHON} ]]; then
|
||||
# PYTHON flag was not set - default to false
|
||||
VALIDATE_PYTHON="false"
|
||||
fi
|
||||
|
@ -245,9 +245,9 @@ function GetValidationInfo() {
|
|||
####################################
|
||||
# Validate if we should check RUBY #
|
||||
####################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_RUBY ]]; then
|
||||
if [[ -z ${VALIDATE_RUBY} ]]; then
|
||||
# RUBY flag was not set - default to false
|
||||
VALIDATE_RUBY="false"
|
||||
fi
|
||||
|
@ -259,9 +259,9 @@ function GetValidationInfo() {
|
|||
######################################
|
||||
# Validate if we should check COFFEE #
|
||||
######################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_COFFEE ]]; then
|
||||
if [[ -z ${VALIDATE_COFFEE} ]]; then
|
||||
# COFFEE flag was not set - default to false
|
||||
VALIDATE_COFFEE="false"
|
||||
fi
|
||||
|
@ -273,9 +273,9 @@ function GetValidationInfo() {
|
|||
#######################################
|
||||
# Validate if we should check ANSIBLE #
|
||||
#######################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_ANSIBLE ]]; then
|
||||
if [[ -z ${VALIDATE_ANSIBLE} ]]; then
|
||||
# ANSIBLE flag was not set - default to false
|
||||
VALIDATE_ANSIBLE="false"
|
||||
fi
|
||||
|
@ -287,9 +287,9 @@ function GetValidationInfo() {
|
|||
#############################################
|
||||
# Validate if we should check JAVASCRIPT_ES #
|
||||
#############################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_JAVASCRIPT_ES ]]; then
|
||||
if [[ -z ${VALIDATE_JAVASCRIPT_ES} ]]; then
|
||||
# JAVASCRIPT_ES flag was not set - default to false
|
||||
VALIDATE_JAVASCRIPT_ES="false"
|
||||
fi
|
||||
|
@ -301,9 +301,9 @@ function GetValidationInfo() {
|
|||
###################################################
|
||||
# Validate if we should check JAVASCRIPT_STANDARD #
|
||||
###################################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_JAVASCRIPT_STANDARD ]]; then
|
||||
if [[ -z ${VALIDATE_JAVASCRIPT_STANDARD} ]]; then
|
||||
# JAVASCRIPT_STANDARD flag was not set - default to false
|
||||
VALIDATE_JAVASCRIPT_STANDARD="false"
|
||||
fi
|
||||
|
@ -315,9 +315,9 @@ function GetValidationInfo() {
|
|||
#############################################
|
||||
# Validate if we should check JSX #
|
||||
#############################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_JSX ]]; then
|
||||
if [[ -z ${VALIDATE_JSX} ]]; then
|
||||
# JSX flag was not set - default to false
|
||||
VALIDATE_JSX="false"
|
||||
fi
|
||||
|
@ -329,9 +329,9 @@ function GetValidationInfo() {
|
|||
#############################################
|
||||
# Validate if we should check TSX #
|
||||
#############################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_TSX ]]; then
|
||||
if [[ -z ${VALIDATE_TSX} ]]; then
|
||||
# TSX flag was not set - default to false
|
||||
VALIDATE_TSX="false"
|
||||
fi
|
||||
|
@ -343,9 +343,9 @@ function GetValidationInfo() {
|
|||
#############################################
|
||||
# Validate if we should check TYPESCRIPT_ES #
|
||||
#############################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_TYPESCRIPT_ES ]]; then
|
||||
if [[ -z ${VALIDATE_TYPESCRIPT_ES} ]]; then
|
||||
# TYPESCRIPT_ES flag was not set - default to false
|
||||
VALIDATE_TYPESCRIPT_ES="false"
|
||||
fi
|
||||
|
@ -357,9 +357,9 @@ function GetValidationInfo() {
|
|||
###################################################
|
||||
# Validate if we should check TYPESCRIPT_STANDARD #
|
||||
###################################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_TYPESCRIPT_STANDARD ]]; then
|
||||
if [[ -z ${VALIDATE_TYPESCRIPT_STANDARD} ]]; then
|
||||
# TYPESCRIPT_STANDARD flag was not set - default to false
|
||||
VALIDATE_TYPESCRIPT_STANDARD="false"
|
||||
fi
|
||||
|
@ -371,9 +371,9 @@ function GetValidationInfo() {
|
|||
######################################
|
||||
# Validate if we should check DOCKER #
|
||||
######################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_DOCKER ]]; then
|
||||
if [[ -z ${VALIDATE_DOCKER} ]]; then
|
||||
# DOCKER flag was not set - default to false
|
||||
VALIDATE_DOCKER="false"
|
||||
fi
|
||||
|
@ -385,9 +385,9 @@ function GetValidationInfo() {
|
|||
##################################
|
||||
# Validate if we should check GO #
|
||||
##################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_GO ]]; then
|
||||
if [[ -z ${VALIDATE_GO} ]]; then
|
||||
# GO flag was not set - default to false
|
||||
VALIDATE_GO="false"
|
||||
fi
|
||||
|
@ -399,9 +399,9 @@ function GetValidationInfo() {
|
|||
#########################################
|
||||
# Validate if we should check TERRAFORM #
|
||||
#########################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_TERRAFORM ]]; then
|
||||
if [[ -z ${VALIDATE_TERRAFORM} ]]; then
|
||||
# TERRAFORM flag was not set - default to false
|
||||
VALIDATE_TERRAFORM="false"
|
||||
fi
|
||||
|
@ -413,9 +413,9 @@ function GetValidationInfo() {
|
|||
#########################################
|
||||
# Validate if we should check POWERSHELL #
|
||||
#########################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_POWERSHELL ]]; then
|
||||
if [[ -z ${VALIDATE_POWERSHELL} ]]; then
|
||||
# POWERSHELL flag was not set - default to false
|
||||
VALIDATE_POWERSHELL="false"
|
||||
fi
|
||||
|
@ -427,9 +427,9 @@ function GetValidationInfo() {
|
|||
###################################
|
||||
# Validate if we should check ARM #
|
||||
###################################
|
||||
if [[ "$ANY_SET" == "true" ]]; then
|
||||
if [[ "${ANY_SET}" == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z "$VALIDATE_ARM" ]]; then
|
||||
if [[ -z "${VALIDATE_ARM}" ]]; then
|
||||
# ARM flag was not set - default to false
|
||||
VALIDATE_ARM="false"
|
||||
fi
|
||||
|
@ -441,9 +441,9 @@ function GetValidationInfo() {
|
|||
###################################
|
||||
# Validate if we should check CSS #
|
||||
###################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_CSS ]]; then
|
||||
if [[ -z ${VALIDATE_CSS} ]]; then
|
||||
# CSS flag was not set - default to false
|
||||
VALIDATE_CSS="false"
|
||||
fi
|
||||
|
@ -455,9 +455,9 @@ function GetValidationInfo() {
|
|||
###################################
|
||||
# Validate if we should check ENV #
|
||||
###################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_ENV ]]; then
|
||||
if [[ -z ${VALIDATE_ENV} ]]; then
|
||||
# ENV flag was not set - default to false
|
||||
VALIDATE_ENV="false"
|
||||
fi
|
||||
|
@ -469,9 +469,9 @@ function GetValidationInfo() {
|
|||
######################################
|
||||
# Validate if we should check KOTLIN #
|
||||
######################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_KOTLIN ]]; then
|
||||
if [[ -z ${VALIDATE_KOTLIN} ]]; then
|
||||
# ENV flag was not set - default to false
|
||||
VALIDATE_KOTLIN="false"
|
||||
fi
|
||||
|
@ -483,9 +483,9 @@ function GetValidationInfo() {
|
|||
####################################
|
||||
# Validate if we should check DART #
|
||||
####################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_DART ]]; then
|
||||
if [[ -z ${VALIDATE_DART} ]]; then
|
||||
# ENV flag was not set - default to false
|
||||
VALIDATE_DART="false"
|
||||
fi
|
||||
|
@ -497,9 +497,9 @@ function GetValidationInfo() {
|
|||
#######################################
|
||||
# Validate if we should check OPENAPI #
|
||||
#######################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_OPENAPI ]]; then
|
||||
if [[ -z ${VALIDATE_OPENAPI} ]]; then
|
||||
# OPENAPI flag was not set - default to false
|
||||
VALIDATE_OPENAPI="false"
|
||||
fi
|
||||
|
@ -511,9 +511,9 @@ function GetValidationInfo() {
|
|||
#######################################
|
||||
# Validate if we should check PROTOBUF #
|
||||
#######################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_PROTOBUF ]]; then
|
||||
if [[ -z ${VALIDATE_PROTOBUF} ]]; then
|
||||
# PROTOBUF flag was not set - default to false
|
||||
VALIDATE_PROTOBUF="false"
|
||||
fi
|
||||
|
@ -525,9 +525,9 @@ function GetValidationInfo() {
|
|||
#######################################
|
||||
# Validate if we should check Clojure #
|
||||
#######################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_CLOJURE ]]; then
|
||||
if [[ -z ${VALIDATE_CLOJURE} ]]; then
|
||||
# Clojure flag was not set - default to false
|
||||
VALIDATE_CLOJURE="false"
|
||||
fi
|
||||
|
@ -539,16 +539,16 @@ function GetValidationInfo() {
|
|||
############################################
|
||||
# Validate if we should check editorconfig #
|
||||
############################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_EDITORCONFIG ]]; then
|
||||
if [[ -z ${VALIDATE_EDITORCONFIG} ]]; then
|
||||
# EDITORCONFIG flag was not set - default to false
|
||||
VALIDATE_EDITORCONFIG="false"
|
||||
fi
|
||||
else
|
||||
# No linter flags were set
|
||||
# special case checking for .editorconfig
|
||||
if [ -f "$GITHUB_WORKSPACE/.editorconfig" ]; then
|
||||
if [ -f "${GITHUB_WORKSPACE}/.editorconfig" ]; then
|
||||
VALIDATE_EDITORCONFIG="true"
|
||||
fi
|
||||
fi
|
||||
|
@ -556,9 +556,9 @@ function GetValidationInfo() {
|
|||
####################################
|
||||
# Validate if we should check HTML #
|
||||
####################################
|
||||
if [[ $ANY_SET == "true" ]]; then
|
||||
if [[ ${ANY_SET} == "true" ]]; then
|
||||
# Some linter flags were set - only run those set to true
|
||||
if [[ -z $VALIDATE_HTML ]]; then
|
||||
if [[ -z ${VALIDATE_HTML} ]]; then
|
||||
# HTML flag was not set - default to false
|
||||
VALIDATE_HTML="false"
|
||||
fi
|
||||
|
@ -570,152 +570,152 @@ function GetValidationInfo() {
|
|||
#######################################
|
||||
# Print which linters we are enabling #
|
||||
#######################################
|
||||
if [[ $VALIDATE_YAML == "true" ]]; then
|
||||
if [[ ${VALIDATE_YAML} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [YAML] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [YAML] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_JSON == "true" ]]; then
|
||||
if [[ ${VALIDATE_JSON} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [JSON] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [JSON] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_XML == "true" ]]; then
|
||||
if [[ ${VALIDATE_XML} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [XML] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [XML] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_MARKDOWN == "true" ]]; then
|
||||
if [[ ${VALIDATE_MARKDOWN} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [MARKDOWN] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [MARKDOWN] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_BASH == "true" ]]; then
|
||||
if [[ ${VALIDATE_BASH} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [BASH] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [BASH] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_PERL == "true" ]]; then
|
||||
if [[ ${VALIDATE_PERL} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [PERL] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [PERL] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_RAKU == "true" ]]; then
|
||||
if [[ ${VALIDATE_RAKU} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [RAKU] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [RAKU] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_PHP == "true" ]]; then
|
||||
if [[ ${VALIDATE_PHP} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [PHP] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [PHP] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_PYTHON == "true" ]]; then
|
||||
if [[ ${VALIDATE_PYTHON} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [PYTHON] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [PYTHON] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_RUBY == "true" ]]; then
|
||||
if [[ ${VALIDATE_RUBY} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [RUBY] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [RUBY] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_COFFEE == "true" ]]; then
|
||||
if [[ ${VALIDATE_COFFEE} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [COFFEE] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [COFFEE] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_ANSIBLE == "true" ]]; then
|
||||
if [[ ${VALIDATE_ANSIBLE} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [ANSIBLE] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [ANSIBLE] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_JAVASCRIPT_ES == "true" ]]; then
|
||||
if [[ ${VALIDATE_JAVASCRIPT_ES} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [JAVASCRIPT(eslint)] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [JAVASCRIPT(eslint)] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_JAVASCRIPT_STANDARD == "true" ]]; then
|
||||
if [[ ${VALIDATE_JAVASCRIPT_STANDARD} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [JAVASCRIPT(standard)] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [JAVASCRIPT(standard)] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_TYPESCRIPT_ES == "true" ]]; then
|
||||
if [[ ${VALIDATE_TYPESCRIPT_ES} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [TYPESCRIPT(eslint)] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [TYPESCRIPT(eslint)] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_TYPESCRIPT_STANDARD == "true" ]]; then
|
||||
if [[ ${VALIDATE_TYPESCRIPT_STANDARD} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [TYPESCRIPT(standard)] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [TYPESCRIPT(standard)] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_DOCKER == "true" ]]; then
|
||||
if [[ ${VALIDATE_DOCKER} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [DOCKER] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [DOCKER] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_GO == "true" ]]; then
|
||||
if [[ ${VALIDATE_GO} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [GOLANG] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [GOLANG] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_TERRAFORM == "true" ]]; then
|
||||
if [[ ${VALIDATE_TERRAFORM} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [TERRAFORM] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [TERRAFORM] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_POWERSHELL == "true" ]]; then
|
||||
if [[ ${VALIDATE_POWERSHELL} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [POWERSHELL] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [POWERSHELL] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_ARM == "true" ]]; then
|
||||
if [[ ${VALIDATE_ARM} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [ARM] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [ARM] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_CSS == "true" ]]; then
|
||||
if [[ ${VALIDATE_CSS} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [CSS] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [CSS] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_CLOJURE == "true" ]]; then
|
||||
if [[ ${VALIDATE_CLOJURE} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [CLOJURE] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [CLOJURE] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_ENV == "true" ]]; then
|
||||
if [[ ${VALIDATE_ENV} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [ENV] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [ENV] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_KOTLIN == "true" ]]; then
|
||||
if [[ ${VALIDATE_KOTLIN} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [KOTLIN] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [KOTLIN] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_OPENAPI == "true" ]]; then
|
||||
if [[ ${VALIDATE_OPENAPI} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [OPENAPI] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [OPENAPI] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_PROTOBUF == "true" ]]; then
|
||||
if [[ ${VALIDATE_PROTOBUF} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [PROTOBUF] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [PROTOBUF] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_DART == "true" ]]; then
|
||||
if [[ ${VALIDATE_DART} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [DART] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [DART] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_EDITORCONFIG == "true" ]]; then
|
||||
if [[ ${VALIDATE_EDITORCONFIG} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [EDITORCONFIG] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [EDITORCONFIG] files in code base...")
|
||||
fi
|
||||
if [[ $VALIDATE_HTML == "true" ]]; then
|
||||
if [[ ${VALIDATE_HTML} == "true" ]]; then
|
||||
PRINT_ARRAY+=("- Validating [HTML] files in code base...")
|
||||
else
|
||||
PRINT_ARRAY+=("- Excluding [HTML] files in code base...")
|
||||
|
@ -724,9 +724,9 @@ function GetValidationInfo() {
|
|||
##############################
|
||||
# Validate Ansible Directory #
|
||||
##############################
|
||||
if [ -z "$ANSIBLE_DIRECTORY" ]; then
|
||||
if [ -z "${ANSIBLE_DIRECTORY}" ]; then
|
||||
# No Value, need to default
|
||||
ANSIBLE_DIRECTORY="$DEFAULT_ANSIBLE_DIRECTORY"
|
||||
ANSIBLE_DIRECTORY="${DEFAULT_ANSIBLE_DIRECTORY}"
|
||||
else
|
||||
# Check if first char is '/'
|
||||
if [[ ${ANSIBLE_DIRECTORY:0:1} == "/" ]]; then
|
||||
|
@ -734,19 +734,19 @@ function GetValidationInfo() {
|
|||
ANSIBLE_DIRECTORY="${ANSIBLE_DIRECTORY:1}"
|
||||
fi
|
||||
# Need to give it full path
|
||||
TEMP_ANSIBLE_DIRECTORY="$GITHUB_WORKSPACE/$ANSIBLE_DIRECTORY"
|
||||
TEMP_ANSIBLE_DIRECTORY="${GITHUB_WORKSPACE}/${ANSIBLE_DIRECTORY}"
|
||||
# Set the value
|
||||
ANSIBLE_DIRECTORY="$TEMP_ANSIBLE_DIRECTORY"
|
||||
ANSIBLE_DIRECTORY="${TEMP_ANSIBLE_DIRECTORY}"
|
||||
fi
|
||||
|
||||
###############################
|
||||
# Get the disable errors flag #
|
||||
###############################
|
||||
if [ -z "$DISABLE_ERRORS" ]; then
|
||||
if [ -z "${DISABLE_ERRORS}" ]; then
|
||||
##################################
|
||||
# No flag passed, set to default #
|
||||
##################################
|
||||
DISABLE_ERRORS="$DEFAULT_DISABLE_ERRORS"
|
||||
DISABLE_ERRORS="${DEFAULT_DISABLE_ERRORS}"
|
||||
fi
|
||||
|
||||
###############################
|
||||
|
@ -757,18 +757,18 @@ function GetValidationInfo() {
|
|||
############################
|
||||
# Set to false if not true #
|
||||
############################
|
||||
if [ "$DISABLE_ERRORS" != "true" ]; then
|
||||
if [ "${DISABLE_ERRORS}" != "true" ]; then
|
||||
DISABLE_ERRORS="false"
|
||||
fi
|
||||
|
||||
############################
|
||||
# Get the run verbose flag #
|
||||
############################
|
||||
if [ -z "$ACTIONS_RUNNER_DEBUG" ]; then
|
||||
if [ -z "${ACTIONS_RUNNER_DEBUG}" ]; then
|
||||
##################################
|
||||
# No flag passed, set to default #
|
||||
##################################
|
||||
ACTIONS_RUNNER_DEBUG="$DEFAULT_ACTIONS_RUNNER_DEBUG"
|
||||
ACTIONS_RUNNER_DEBUG="${DEFAULT_ACTIONS_RUNNER_DEBUG}"
|
||||
fi
|
||||
|
||||
###############################
|
||||
|
@ -779,25 +779,25 @@ function GetValidationInfo() {
|
|||
############################
|
||||
# Set to true if not false #
|
||||
############################
|
||||
if [ "$ACTIONS_RUNNER_DEBUG" != "false" ]; then
|
||||
if [ "${ACTIONS_RUNNER_DEBUG}" != "false" ]; then
|
||||
ACTIONS_RUNNER_DEBUG="true"
|
||||
fi
|
||||
|
||||
###################
|
||||
# Debug on runner #
|
||||
###################
|
||||
if [[ $ACTIONS_RUNNER_DEBUG == "true" ]]; then
|
||||
if [[ ${ACTIONS_RUNNER_DEBUG} == "true" ]]; then
|
||||
###########################
|
||||
# Print the validate info #
|
||||
###########################
|
||||
for LINE in "${PRINT_ARRAY[@]}"; do
|
||||
echo "$LINE"
|
||||
echo "${LINE}"
|
||||
done
|
||||
|
||||
echo "--- DEBUG INFO ---"
|
||||
echo "---------------------------------------------"
|
||||
RUNNER=$(whoami)
|
||||
echo "Runner:[$RUNNER]"
|
||||
echo "Runner:[${RUNNER}]"
|
||||
echo "ENV:"
|
||||
printenv
|
||||
echo "---------------------------------------------"
|
||||
|
|
276
lib/worker.sh
276
lib/worker.sh
|
@ -13,11 +13,11 @@ function LintCodebase() {
|
|||
####################
|
||||
# Pull in the vars #
|
||||
####################
|
||||
FILE_TYPE="$1" && shift # Pull the variable and remove from array path (Example: JSON)
|
||||
LINTER_NAME="$1" && shift # Pull the variable and remove from array path (Example: jsonlint)
|
||||
LINTER_COMMAND="$1" && shift # Pull the variable and remove from array path (Example: jsonlint -c ConfigFile /path/to/file)
|
||||
FILE_EXTENSIONS="$1" && shift # Pull the variable and remove from array path (Example: *.json)
|
||||
FILE_ARRAY=("$@") # Array of files to validate (Example: $FILE_ARRAY_JSON)
|
||||
FILE_TYPE="${1}" && shift # Pull the variable and remove from array path (Example: JSON)
|
||||
LINTER_NAME="${1}" && shift # Pull the variable and remove from array path (Example: jsonlint)
|
||||
LINTER_COMMAND="${1}" && shift # Pull the variable and remove from array path (Example: jsonlint -c ConfigFile /path/to/file)
|
||||
FILE_EXTENSIONS="${1}" && shift # Pull the variable and remove from array path (Example: *.json)
|
||||
FILE_ARRAY=("$@") # Array of files to validate (Example: ${FILE_ARRAY_JSON})
|
||||
|
||||
######################
|
||||
# Create Print Array #
|
||||
|
@ -30,14 +30,14 @@ function LintCodebase() {
|
|||
PRINT_ARRAY+=("")
|
||||
PRINT_ARRAY+=("----------------------------------------------")
|
||||
PRINT_ARRAY+=("----------------------------------------------")
|
||||
PRINT_ARRAY+=("Linting [$FILE_TYPE] files...")
|
||||
PRINT_ARRAY+=("Linting [${FILE_TYPE}] files...")
|
||||
PRINT_ARRAY+=("----------------------------------------------")
|
||||
PRINT_ARRAY+=("----------------------------------------------")
|
||||
|
||||
#####################################
|
||||
# Validate we have linter installed #
|
||||
#####################################
|
||||
VALIDATE_INSTALL_CMD=$(command -v "$LINTER_NAME" 2>&1)
|
||||
VALIDATE_INSTALL_CMD=$(command -v "${LINTER_NAME}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -47,15 +47,15 @@ function LintCodebase() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# Failed
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to find [$LINTER_NAME] in system!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$VALIDATE_INSTALL_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to find [${LINTER_NAME}] in system!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${VALIDATE_INSTALL_CMD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
# Success
|
||||
if [[ $ACTIONS_RUNNER_DEBUG == "true" ]]; then
|
||||
echo -e "${NC}${F[B]}Successfully found binary for ${F[W]}[$LINTER_NAME]${F[B]} in system location: ${F[W]}[$VALIDATE_INSTALL_CMD]${NC}"
|
||||
if [[ ${ACTIONS_RUNNER_DEBUG} == "true" ]]; then
|
||||
echo -e "${NC}${F[B]}Successfully found binary for ${F[W]}[${LINTER_NAME}]${F[B]} in system location: ${F[W]}[${VALIDATE_INSTALL_CMD}]${NC}"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -72,10 +72,10 @@ function LintCodebase() {
|
|||
############################################################
|
||||
# Check to see if we need to go through array or all files #
|
||||
############################################################
|
||||
if [ ${#FILE_ARRAY[@]} -eq 0 ] && [ "$VALIDATE_ALL_CODEBASE" == "false" ]; then
|
||||
if [ ${#FILE_ARRAY[@]} -eq 0 ] && [ "${VALIDATE_ALL_CODEBASE}" == "false" ]; then
|
||||
# No files found in commit and user has asked to not validate code base
|
||||
SKIP_FLAG=1
|
||||
# echo " - No files found in changeset to lint for language:[$FILE_TYPE]"
|
||||
# echo " - No files found in changeset to lint for language:[${FILE_TYPE}]"
|
||||
elif [ ${#FILE_ARRAY[@]} -ne 0 ]; then
|
||||
# We have files added to array of files to check
|
||||
LIST_FILES=("${FILE_ARRAY[@]}") # Copy the array into list
|
||||
|
@ -88,12 +88,12 @@ function LintCodebase() {
|
|||
#################################
|
||||
# Get list of all files to lint #
|
||||
#################################
|
||||
mapfile -t LIST_FILES < <(find "$GITHUB_WORKSPACE" -type f -regex "$FILE_EXTENSIONS" 2>&1)
|
||||
mapfile -t LIST_FILES < <(find "${GITHUB_WORKSPACE}" -type f -regex "${FILE_EXTENSIONS}" 2>&1)
|
||||
|
||||
###########################
|
||||
# Set IFS back to default #
|
||||
###########################
|
||||
IFS="$DEFAULT_IFS"
|
||||
IFS="${DEFAULT_IFS}"
|
||||
|
||||
############################################################
|
||||
# Set it back to empty if loaded with blanks from scanning #
|
||||
|
@ -113,7 +113,7 @@ function LintCodebase() {
|
|||
###############################
|
||||
# Check if any data was found #
|
||||
###############################
|
||||
if [ $SKIP_FLAG -eq 0 ]; then
|
||||
if [ ${SKIP_FLAG} -eq 0 ]; then
|
||||
######################
|
||||
# Print Header array #
|
||||
######################
|
||||
|
@ -121,7 +121,7 @@ function LintCodebase() {
|
|||
#########################
|
||||
# Print the header info #
|
||||
#########################
|
||||
echo "$LINE"
|
||||
echo "${LINE}"
|
||||
done
|
||||
|
||||
########################################
|
||||
|
@ -141,18 +141,18 @@ function LintCodebase() {
|
|||
#####################
|
||||
# Get the file name #
|
||||
#####################
|
||||
FILE_NAME=$(basename "$FILE" 2>&1)
|
||||
FILE_NAME=$(basename "${FILE}" 2>&1)
|
||||
|
||||
#####################################################
|
||||
# Make sure we dont lint node modules or test cases #
|
||||
#####################################################
|
||||
if [[ $FILE == *"node_modules"* ]]; then
|
||||
if [[ ${FILE} == *"node_modules"* ]]; then
|
||||
# This is a node modules file
|
||||
continue
|
||||
elif [[ $FILE == *"$TEST_CASE_FOLDER"* ]]; then
|
||||
elif [[ ${FILE} == *"${TEST_CASE_FOLDER}"* ]]; then
|
||||
# This is the test cases, we should always skip
|
||||
continue
|
||||
elif [[ $FILE == *".git"* ]]; then
|
||||
elif [[ ${FILE} == *".git"* ]]; then
|
||||
# This is likely the .git folder and shouldnt be parsed
|
||||
continue
|
||||
fi
|
||||
|
@ -166,12 +166,12 @@ function LintCodebase() {
|
|||
# File print #
|
||||
##############
|
||||
echo "---------------------------"
|
||||
echo "File:[$FILE]"
|
||||
echo "File:[${FILE}]"
|
||||
|
||||
#################################
|
||||
# Add the language to the array #
|
||||
#################################
|
||||
LINTED_LANGUAGES_ARRAY+=("$FILE_TYPE")
|
||||
LINTED_LANGUAGES_ARRAY+=("${FILE_TYPE}")
|
||||
|
||||
####################
|
||||
# Set the base Var #
|
||||
|
@ -183,14 +183,14 @@ function LintCodebase() {
|
|||
# - PowerShell (PSScriptAnalyzer) #
|
||||
# - ARM (arm-ttk) #
|
||||
####################################
|
||||
if [[ $FILE_TYPE == "POWERSHELL" ]] || [[ $FILE_TYPE == "ARM" ]]; then
|
||||
if [[ ${FILE_TYPE} == "POWERSHELL" ]] || [[ ${FILE_TYPE} == "ARM" ]]; then
|
||||
################################
|
||||
# Lint the file with the rules #
|
||||
################################
|
||||
# Need to run PowerShell commands using pwsh -c, also exit with exit code from inner subshell
|
||||
LINT_CMD=$(
|
||||
cd "$GITHUB_WORKSPACE" || exit
|
||||
pwsh -NoProfile -NoLogo -Command "$LINTER_COMMAND $FILE; if (\$Error.Count) { exit 1 }"
|
||||
cd "${GITHUB_WORKSPACE}" || exit
|
||||
pwsh -NoProfile -NoLogo -Command "${LINTER_COMMAND} ${FILE}; if (\${Error}.Count) { exit 1 }"
|
||||
exit $? 2>&1
|
||||
)
|
||||
else
|
||||
|
@ -198,8 +198,8 @@ function LintCodebase() {
|
|||
# Lint the file with the rules #
|
||||
################################
|
||||
LINT_CMD=$(
|
||||
cd "$GITHUB_WORKSPACE" || exit
|
||||
$LINTER_COMMAND "$FILE" 2>&1
|
||||
cd "${GITHUB_WORKSPACE}" || exit
|
||||
${LINTER_COMMAND} "${FILE}" 2>&1
|
||||
)
|
||||
fi
|
||||
|
||||
|
@ -211,27 +211,27 @@ function LintCodebase() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
#########
|
||||
# Error #
|
||||
#########
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Found errors in [$LINTER_NAME] linter!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$LINT_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Found errors in [${LINTER_NAME}] linter!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${LINT_CMD}]${NC}"
|
||||
# Increment the error count
|
||||
(("ERRORS_FOUND_$FILE_TYPE++"))
|
||||
(("ERRORS_FOUND_${FILE_TYPE}++"))
|
||||
|
||||
#######################################################
|
||||
# Store the linting as a temporary file in TAP format #
|
||||
#######################################################
|
||||
if IsTAP ; then
|
||||
NotOkTap "${INDEX}" "${FILE}" "${TMPFILE}"
|
||||
AddDetailedMessageIfEnabled "$LINT_CMD" "${TMPFILE}"
|
||||
AddDetailedMessageIfEnabled "${LINT_CMD}" "${TMPFILE}"
|
||||
fi
|
||||
else
|
||||
###########
|
||||
# Success #
|
||||
###########
|
||||
echo -e "${NC}${F[B]} - File:${F[W]}[$FILE_NAME]${F[B]} was linted with ${F[W]}[$LINTER_NAME]${F[B]} successfully${NC}"
|
||||
echo -e "${NC}${F[B]} - File:${F[W]}[${FILE_NAME}]${F[B]} was linted with ${F[W]}[${LINTER_NAME}]${F[B]} successfully${NC}"
|
||||
|
||||
#######################################################
|
||||
# Store the linting as a temporary file in TAP format #
|
||||
|
@ -257,11 +257,11 @@ function TestCodebase() {
|
|||
####################
|
||||
# Pull in the vars #
|
||||
####################
|
||||
FILE_TYPE="$1" # Pull the variable and remove from array path (Example: JSON)
|
||||
LINTER_NAME="$2" # Pull the variable and remove from array path (Example: jsonlint)
|
||||
LINTER_COMMAND="$3" # Pull the variable and remove from array path (Example: jsonlint -c ConfigFile /path/to/file)
|
||||
FILE_EXTENSIONS="$4" # Pull the variable and remove from array path (Example: *.json)
|
||||
INDVIDUAL_TEST_FOLDER="$5" # Folder for specific tests
|
||||
FILE_TYPE="${1}" # Pull the variable and remove from array path (Example: JSON)
|
||||
LINTER_NAME="${2}" # Pull the variable and remove from array path (Example: jsonlint)
|
||||
LINTER_COMMAND="${3}" # Pull the variable and remove from array path (Example: jsonlint -c ConfigFile /path/to/file)
|
||||
FILE_EXTENSIONS="${4}" # Pull the variable and remove from array path (Example: *.json)
|
||||
INDVIDUAL_TEST_FOLDER="${5}" # Folder for specific tests
|
||||
TESTS_RAN=0 # Incremented when tests are ran, this will help find failed finds
|
||||
|
||||
################
|
||||
|
@ -270,7 +270,7 @@ function TestCodebase() {
|
|||
echo ""
|
||||
echo "----------------------------------------------"
|
||||
echo "----------------------------------------------"
|
||||
echo "Testing Codebase [$FILE_TYPE] files..."
|
||||
echo "Testing Codebase [${FILE_TYPE}] files..."
|
||||
echo "----------------------------------------------"
|
||||
echo "----------------------------------------------"
|
||||
echo ""
|
||||
|
@ -278,7 +278,7 @@ function TestCodebase() {
|
|||
#####################################
|
||||
# Validate we have linter installed #
|
||||
#####################################
|
||||
VALIDATE_INSTALL_CMD=$(command -v "$LINTER_NAME" 2>&1)
|
||||
VALIDATE_INSTALL_CMD=$(command -v "${LINTER_NAME}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -288,14 +288,14 @@ function TestCodebase() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# Failed
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to find [$LINTER_NAME] in system!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$VALIDATE_INSTALL_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to find [${LINTER_NAME}] in system!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${VALIDATE_INSTALL_CMD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
# Success
|
||||
echo -e "${NC}${F[B]}Successfully found binary for ${F[W]}[$LINTER_NAME]${F[B]} in system location: ${F[W]}[$VALIDATE_INSTALL_CMD]${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully found binary for ${F[W]}[${LINTER_NAME}]${F[B]} in system location: ${F[W]}[${VALIDATE_INSTALL_CMD}]${NC}"
|
||||
fi
|
||||
|
||||
##########################
|
||||
|
@ -306,7 +306,7 @@ function TestCodebase() {
|
|||
#################################
|
||||
# Get list of all files to lint #
|
||||
#################################
|
||||
mapfile -t LIST_FILES < <(find "$GITHUB_WORKSPACE/$TEST_CASE_FOLDER/$INDVIDUAL_TEST_FOLDER" -type f -regex "$FILE_EXTENSIONS" ! -path "$GITHUB_WORKSPACE/$TEST_CASE_FOLDER/ansible/ghe-initialize/*" | sort 2>&1)
|
||||
mapfile -t LIST_FILES < <(find "${GITHUB_WORKSPACE}/${TEST_CASE_FOLDER}/${INDVIDUAL_TEST_FOLDER}" -type f -regex "${FILE_EXTENSIONS}" ! -path "${GITHUB_WORKSPACE}/${TEST_CASE_FOLDER}/ansible/ghe-initialize/*" | sort 2>&1)
|
||||
|
||||
########################################
|
||||
# Prepare context if TAP output format #
|
||||
|
@ -324,18 +324,18 @@ function TestCodebase() {
|
|||
#####################
|
||||
# Get the file name #
|
||||
#####################
|
||||
FILE_NAME=$(basename "$FILE" 2>&1)
|
||||
FILE_NAME=$(basename "${FILE}" 2>&1)
|
||||
|
||||
############################
|
||||
# Get the file pass status #
|
||||
############################
|
||||
# Example: markdown_good_1.md -> good
|
||||
FILE_STATUS=$(echo "$FILE_NAME" | cut -f2 -d'_')
|
||||
FILE_STATUS=$(echo "${FILE_NAME}" | cut -f2 -d'_')
|
||||
|
||||
#########################################################
|
||||
# If not found, assume it should be linted successfully #
|
||||
#########################################################
|
||||
if [ -z "$FILE_STATUS" ] || [[ $FILE == *"README"* ]]; then
|
||||
if [ -z "${FILE_STATUS}" ] || [[ ${FILE} == *"README"* ]]; then
|
||||
##################################
|
||||
# Set to good for proper linting #
|
||||
##################################
|
||||
|
@ -346,7 +346,7 @@ function TestCodebase() {
|
|||
# File print #
|
||||
##############
|
||||
echo "---------------------------"
|
||||
echo "File:[$FILE]"
|
||||
echo "File:[${FILE}]"
|
||||
|
||||
########################
|
||||
# Set the lint command #
|
||||
|
@ -356,8 +356,8 @@ function TestCodebase() {
|
|||
#######################################
|
||||
# Check if docker and get folder name #
|
||||
#######################################
|
||||
if [[ $FILE_TYPE == "DOCKER" ]]; then
|
||||
if [[ $FILE == *"good"* ]]; then
|
||||
if [[ ${FILE_TYPE} == "DOCKER" ]]; then
|
||||
if [[ ${FILE} == *"good"* ]]; then
|
||||
#############
|
||||
# Good file #
|
||||
#############
|
||||
|
@ -373,11 +373,11 @@ function TestCodebase() {
|
|||
#####################
|
||||
# Check for ansible #
|
||||
#####################
|
||||
if [[ $FILE_TYPE == "ANSIBLE" ]]; then
|
||||
if [[ ${FILE_TYPE} == "ANSIBLE" ]]; then
|
||||
########################################
|
||||
# Make sure we dont lint certain files #
|
||||
########################################
|
||||
if [[ $FILE == *"vault.yml"* ]] || [[ $FILE == *"galaxy.yml"* ]]; then
|
||||
if [[ ${FILE} == *"vault.yml"* ]] || [[ ${FILE} == *"galaxy.yml"* ]]; then
|
||||
# This is a file we dont look at
|
||||
continue
|
||||
fi
|
||||
|
@ -386,17 +386,17 @@ function TestCodebase() {
|
|||
# Lint the file with the rules #
|
||||
################################
|
||||
LINT_CMD=$(
|
||||
cd "$GITHUB_WORKSPACE/$TEST_CASE_FOLDER/$INDVIDUAL_TEST_FOLDER" || exit
|
||||
$LINTER_COMMAND "$FILE" 2>&1
|
||||
cd "${GITHUB_WORKSPACE}/${TEST_CASE_FOLDER}/${INDVIDUAL_TEST_FOLDER}" || exit
|
||||
${LINTER_COMMAND} "${FILE}" 2>&1
|
||||
)
|
||||
elif [[ $FILE_TYPE == "POWERSHELL" ]] || [[ $FILE_TYPE == "ARM" ]]; then
|
||||
elif [[ ${FILE_TYPE} == "POWERSHELL" ]] || [[ ${FILE_TYPE} == "ARM" ]]; then
|
||||
################################
|
||||
# Lint the file with the rules #
|
||||
################################
|
||||
# Need to run PowerShell commands using pwsh -c, also exit with exit code from inner subshell
|
||||
LINT_CMD=$(
|
||||
cd "$GITHUB_WORKSPACE/$TEST_CASE_FOLDER" || exit
|
||||
pwsh -NoProfile -NoLogo -Command "$LINTER_COMMAND $FILE; if (\$Error.Count) { exit 1 }"
|
||||
cd "${GITHUB_WORKSPACE}/${TEST_CASE_FOLDER}" || exit
|
||||
pwsh -NoProfile -NoLogo -Command "${LINTER_COMMAND} ${FILE}; if (\${Error}.Count) { exit 1 }"
|
||||
exit $? 2>&1
|
||||
)
|
||||
else
|
||||
|
@ -404,8 +404,8 @@ function TestCodebase() {
|
|||
# Lint the file with the rules #
|
||||
################################
|
||||
LINT_CMD=$(
|
||||
cd "$GITHUB_WORKSPACE/$TEST_CASE_FOLDER" || exit
|
||||
$LINTER_COMMAND "$FILE" 2>&1
|
||||
cd "${GITHUB_WORKSPACE}/${TEST_CASE_FOLDER}" || exit
|
||||
${LINTER_COMMAND} "${FILE}" 2>&1
|
||||
)
|
||||
fi
|
||||
|
||||
|
@ -422,24 +422,24 @@ function TestCodebase() {
|
|||
########################################
|
||||
# Check for if it was supposed to pass #
|
||||
########################################
|
||||
if [[ $FILE_STATUS == "good" ]]; then
|
||||
if [[ ${FILE_STATUS} == "good" ]]; then
|
||||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
#########
|
||||
# Error #
|
||||
#########
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Found errors in [$LINTER_NAME] linter!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$LINT_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC} Linter CMD:[$LINTER_COMMAND $FILE]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Found errors in [${LINTER_NAME}] linter!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${LINT_CMD}]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC} Linter CMD:[${LINTER_COMMAND} ${FILE}]${NC}"
|
||||
# Increment the error count
|
||||
(("ERRORS_FOUND_$FILE_TYPE++"))
|
||||
(("ERRORS_FOUND_${FILE_TYPE}++"))
|
||||
else
|
||||
###########
|
||||
# Success #
|
||||
###########
|
||||
echo -e "${NC}${F[B]} - File:${F[W]}[$FILE_NAME]${F[B]} was linted with ${F[W]}[$LINTER_NAME]${F[B]} successfully${NC}"
|
||||
echo -e "${NC}${F[B]} - File:${F[W]}[${FILE_NAME}]${F[B]} was linted with ${F[W]}[${LINTER_NAME}]${F[B]} successfully${NC}"
|
||||
fi
|
||||
#######################################################
|
||||
# Store the linting as a temporary file in TAP format #
|
||||
|
@ -454,28 +454,28 @@ function TestCodebase() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -eq 0 ]; then
|
||||
if [ ${ERROR_CODE} -eq 0 ]; then
|
||||
#########
|
||||
# Error #
|
||||
#########
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Found errors in [$LINTER_NAME] linter!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Found errors in [${LINTER_NAME}] linter!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} This file should have failed test case!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$LINT_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC} Linter CMD:[$LINTER_COMMAND $FILE]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${LINT_CMD}]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC} Linter CMD:[${LINTER_COMMAND} ${FILE}]${NC}"
|
||||
# Increment the error count
|
||||
(("ERRORS_FOUND_$FILE_TYPE++"))
|
||||
(("ERRORS_FOUND_${FILE_TYPE}++"))
|
||||
else
|
||||
###########
|
||||
# Success #
|
||||
###########
|
||||
echo -e "${NC}${F[B]} - File:${F[W]}[$FILE_NAME]${F[B]} failed test case with ${F[W]}[$LINTER_NAME]${F[B]} successfully${NC}"
|
||||
echo -e "${NC}${F[B]} - File:${F[W]}[${FILE_NAME}]${F[B]} failed test case with ${F[W]}[${LINTER_NAME}]${F[B]} successfully${NC}"
|
||||
fi
|
||||
#######################################################
|
||||
# Store the linting as a temporary file in TAP format #
|
||||
#######################################################
|
||||
if IsTAP ; then
|
||||
NotOkTap "${TESTS_RAN}" "${FILE_NAME}" "${TMPFILE}"
|
||||
AddDetailedMessageIfEnabled "$LINT_CMD" "${TMPFILE}"
|
||||
AddDetailedMessageIfEnabled "${LINT_CMD}" "${TMPFILE}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
@ -490,24 +490,24 @@ function TestCodebase() {
|
|||
########################################################################
|
||||
# If expected TAP report exists then compare with the generated report #
|
||||
########################################################################
|
||||
EXPECTED_FILE="$GITHUB_WORKSPACE/$TEST_CASE_FOLDER/$INDVIDUAL_TEST_FOLDER/reports/expected-${FILE_TYPE}.tap"
|
||||
if [ -e "$EXPECTED_FILE" ] ; then
|
||||
EXPECTED_FILE="${GITHUB_WORKSPACE}/${TEST_CASE_FOLDER}/${INDVIDUAL_TEST_FOLDER}/reports/expected-${FILE_TYPE}.tap"
|
||||
if [ -e "${EXPECTED_FILE}" ] ; then
|
||||
TMPFILE=$(mktemp -q "/tmp/diff-${FILE_TYPE}.XXXXXX")
|
||||
## Ignore white spaces, case sensitive
|
||||
if ! diff -a -w -i "${EXPECTED_FILE}" "${REPORT_OUTPUT_FILE}" > "${TMPFILE}" 2>&1; then
|
||||
#############################################
|
||||
# We failed to compare the reporting output #
|
||||
#############################################
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to assert TAP output:[$LINTER_NAME]${NC}"!
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to assert TAP output:[${LINTER_NAME}]${NC}"!
|
||||
echo "Please validate the asserts!"
|
||||
cat "${TMPFILE}"
|
||||
exit 1
|
||||
else
|
||||
# Success
|
||||
echo -e "${NC}${F[B]}Successfully validation in the expected TAP format for ${F[W]}[$LINTER_NAME]${NC}"
|
||||
echo -e "${NC}${F[B]}Successfully validation in the expected TAP format for ${F[W]}[${LINTER_NAME}]${NC}"
|
||||
fi
|
||||
else
|
||||
echo -e "${NC}${F[Y]}WARN!${NC} No TAP expected file found at:[$EXPECTED_FILE]${NC}"
|
||||
echo -e "${NC}${F[Y]}WARN!${NC} No TAP expected file found at:[${EXPECTED_FILE}]${NC}"
|
||||
echo "skipping report assertions"
|
||||
#####################################
|
||||
# Append the file type to the array #
|
||||
|
@ -519,11 +519,11 @@ function TestCodebase() {
|
|||
##############################
|
||||
# Validate we ran some tests #
|
||||
##############################
|
||||
if [ "$TESTS_RAN" -eq 0 ]; then
|
||||
if [ "${TESTS_RAN}" -eq 0 ]; then
|
||||
#################################################
|
||||
# We failed to find files and no tests were ran #
|
||||
#################################################
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to find any tests ran for the Linter:[$LINTER_NAME]${NC}"!
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to find any tests ran for the Linter:[${LINTER_NAME}]${NC}"!
|
||||
echo "Please validate logic or that tests exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -552,37 +552,37 @@ function RunTestCases() {
|
|||
# Test case languages #
|
||||
#######################
|
||||
# TestCodebase "Language" "Linter" "Linter-command" "Regex to find files" "Test Folder"
|
||||
TestCodebase "ANSIBLE" "ansible-lint" "ansible-lint -v -c $ANSIBLE_LINTER_RULES" ".*\.\(yml\|yaml\)\$" "ansible"
|
||||
TestCodebase "ARM" "arm-ttk" "Import-Module $ARM_TTK_PSD1 ; \$config = \$(Import-PowerShellDataFile -Path $ARM_LINTER_RULES) ; Test-AzTemplate @config -TemplatePath" ".*\.\(json\)\$" "arm"
|
||||
TestCodebase "ANSIBLE" "ansible-lint" "ansible-lint -v -c ${ANSIBLE_LINTER_RULES}" ".*\.\(yml\|yaml\)\$" "ansible"
|
||||
TestCodebase "ARM" "arm-ttk" "Import-Module ${ARM_TTK_PSD1} ; \${config} = \$(Import-PowerShellDataFile -Path ${ARM_LINTER_RULES}) ; Test-AzTemplate @config -TemplatePath" ".*\.\(json\)\$" "arm"
|
||||
TestCodebase "BASH" "shellcheck" "shellcheck --color" ".*\.\(sh\|bash\|dash\|ksh\)\$" "shell"
|
||||
TestCodebase "CFN" "cfn-lint" "cfn-lint --config-file $CFN_LINTER_RULES" ".*\.\(json\|yml\|yaml\)\$" "cfn"
|
||||
TestCodebase "CLOJURE" "clj-kondo" "clj-kondo --config $CLOJURE_LINTER_RULES --lint" ".*\.\(clj\|cljs\|cljc\|edn\)\$" "clojure"
|
||||
TestCodebase "COFFEESCRIPT" "coffeelint" "coffeelint -f $COFFEESCRIPT_LINTER_RULES" ".*\.\(coffee\)\$" "coffeescript"
|
||||
TestCodebase "CSS" "stylelint" "stylelint --config $CSS_LINTER_RULES" ".*\.\(css\)\$" "css"
|
||||
TestCodebase "DART" "dart" "dartanalyzer --fatal-infos --fatal-warnings --options $DART_LINTER_RULES" ".*\.\(dart\)\$" "dart"
|
||||
TestCodebase "DOCKER" "dockerfilelint" "dockerfilelint -c $DOCKER_LINTER_RULES" ".*\(Dockerfile\)\$" "docker"
|
||||
TestCodebase "CFN" "cfn-lint" "cfn-lint --config-file ${CFN_LINTER_RULES}" ".*\.\(json\|yml\|yaml\)\$" "cfn"
|
||||
TestCodebase "CLOJURE" "clj-kondo" "clj-kondo --config ${CLOJURE_LINTER_RULES} --lint" ".*\.\(clj\|cljs\|cljc\|edn\)\$" "clojure"
|
||||
TestCodebase "COFFEESCRIPT" "coffeelint" "coffeelint -f ${COFFEESCRIPT_LINTER_RULES}" ".*\.\(coffee\)\$" "coffeescript"
|
||||
TestCodebase "CSS" "stylelint" "stylelint --config ${CSS_LINTER_RULES}" ".*\.\(css\)\$" "css"
|
||||
TestCodebase "DART" "dart" "dartanalyzer --fatal-infos --fatal-warnings --options ${DART_LINTER_RULES}" ".*\.\(dart\)\$" "dart"
|
||||
TestCodebase "DOCKER" "dockerfilelint" "dockerfilelint -c ${DOCKER_LINTER_RULES}" ".*\(Dockerfile\)\$" "docker"
|
||||
TestCodebase "EDITORCONFIG" "editorconfig-checker" "editorconfig-checker" ".*\.ext$" "editorconfig-checker"
|
||||
TestCodebase "ENV" "dotenv-linter" "dotenv-linter" ".*\.\(env\)\$" "env"
|
||||
TestCodebase "GO" "golangci-lint" "golangci-lint run -c $GO_LINTER_RULES" ".*\.\(go\)\$" "golang"
|
||||
TestCodebase "HTML" "htmlhint" "htmlhint --config $HTML_LINTER_RULES" ".*\.\(html\)\$" "html"
|
||||
TestCodebase "JAVASCRIPT_ES" "eslint" "eslint --no-eslintrc -c $JAVASCRIPT_LINTER_RULES" ".*\.\(js\)\$" "javascript"
|
||||
TestCodebase "JAVASCRIPT_STANDARD" "standard" "standard $JAVASCRIPT_STANDARD_LINTER_RULES" ".*\.\(js\)\$" "javascript"
|
||||
TestCodebase "GO" "golangci-lint" "golangci-lint run -c ${GO_LINTER_RULES}" ".*\.\(go\)\$" "golang"
|
||||
TestCodebase "HTML" "htmlhint" "htmlhint --config ${HTML_LINTER_RULES}" ".*\.\(html\)\$" "html"
|
||||
TestCodebase "JAVASCRIPT_ES" "eslint" "eslint --no-eslintrc -c ${JAVASCRIPT_LINTER_RULES}" ".*\.\(js\)\$" "javascript"
|
||||
TestCodebase "JAVASCRIPT_STANDARD" "standard" "standard ${JAVASCRIPT_STANDARD_LINTER_RULES}" ".*\.\(js\)\$" "javascript"
|
||||
TestCodebase "JSON" "jsonlint" "jsonlint" ".*\.\(json\)\$" "json"
|
||||
TestCodebase "KOTLIN" "ktlint" "ktlint" ".*\.\(kt\|kts\)\$" "kotlin"
|
||||
TestCodebase "MARKDOWN" "markdownlint" "markdownlint -c $MARKDOWN_LINTER_RULES" ".*\.\(md\)\$" "markdown"
|
||||
TestCodebase "MARKDOWN" "markdownlint" "markdownlint -c ${MARKDOWN_LINTER_RULES}" ".*\.\(md\)\$" "markdown"
|
||||
TestCodebase "PERL" "perl" "perl -Mstrict -cw" ".*\.\(pl\)\$" "perl"
|
||||
TestCodebase "PHP" "php" "php -l" ".*\.\(php\)\$" "php"
|
||||
TestCodebase "OPENAPI" "spectral" "spectral lint -r $OPENAPI_LINTER_RULES" ".*\.\(ymlopenapi\|jsonopenapi\)\$" "openapi"
|
||||
TestCodebase "POWERSHELL" "pwsh" "Invoke-ScriptAnalyzer -EnableExit -Settings $POWERSHELL_LINTER_RULES -Path" ".*\.\(ps1\|psm1\|psd1\|ps1xml\|pssc\|psrc\|cdxml\)\$" "powershell"
|
||||
TestCodebase "PROTOBUF" "protolint" "protolint lint --config_path $PROTOBUF_LINTER_RULES" ".*\.\(proto\)\$" "protobuf"
|
||||
TestCodebase "PYTHON" "pylint" "pylint --rcfile $PYTHON_LINTER_RULES" ".*\.\(py\)\$" "python"
|
||||
TestCodebase "OPENAPI" "spectral" "spectral lint -r ${OPENAPI_LINTER_RULES}" ".*\.\(ymlopenapi\|jsonopenapi\)\$" "openapi"
|
||||
TestCodebase "POWERSHELL" "pwsh" "Invoke-ScriptAnalyzer -EnableExit -Settings ${POWERSHELL_LINTER_RULES} -Path" ".*\.\(ps1\|psm1\|psd1\|ps1xml\|pssc\|psrc\|cdxml\)\$" "powershell"
|
||||
TestCodebase "PROTOBUF" "protolint" "protolint lint --config_path ${PROTOBUF_LINTER_RULES}" ".*\.\(proto\)\$" "protobuf"
|
||||
TestCodebase "PYTHON" "pylint" "pylint --rcfile ${PYTHON_LINTER_RULES}" ".*\.\(py\)\$" "python"
|
||||
TestCodebase "RAKU" "raku" "raku -c" ".*\.\(raku\|rakumod\|rakutest\|pm6\|pl6\|p6\)\$" "raku"
|
||||
TestCodebase "RUBY" "rubocop" "rubocop -c $RUBY_LINTER_RULES" ".*\.\(rb\)\$" "ruby"
|
||||
TestCodebase "TERRAFORM" "tflint" "tflint -c $TERRAFORM_LINTER_RULES" ".*\.\(tf\)\$" "terraform"
|
||||
TestCodebase "TYPESCRIPT_ES" "eslint" "eslint --no-eslintrc -c $TYPESCRIPT_LINTER_RULES" ".*\.\(ts\)\$" "typescript"
|
||||
TestCodebase "TYPESCRIPT_STANDARD" "standard" "standard --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin $TYPESCRIPT_STANDARD_LINTER_RULES" ".*\.\(ts\)\$" "typescript"
|
||||
TestCodebase "RUBY" "rubocop" "rubocop -c ${RUBY_LINTER_RULES}" ".*\.\(rb\)\$" "ruby"
|
||||
TestCodebase "TERRAFORM" "tflint" "tflint -c ${TERRAFORM_LINTER_RULES}" ".*\.\(tf\)\$" "terraform"
|
||||
TestCodebase "TYPESCRIPT_ES" "eslint" "eslint --no-eslintrc -c ${TYPESCRIPT_LINTER_RULES}" ".*\.\(ts\)\$" "typescript"
|
||||
TestCodebase "TYPESCRIPT_STANDARD" "standard" "standard --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin ${TYPESCRIPT_STANDARD_LINTER_RULES}" ".*\.\(ts\)\$" "typescript"
|
||||
TestCodebase "XML" "xmllint" "xmllint" ".*\.\(xml\)\$" "xml"
|
||||
TestCodebase "YML" "yamllint" "yamllint -c $YAML_LINTER_RULES" ".*\.\(yml\|yaml\)\$" "yml"
|
||||
TestCodebase "YML" "yamllint" "yamllint -c ${YAML_LINTER_RULES}" ".*\.\(yml\|yaml\)\$" "yml"
|
||||
|
||||
#################
|
||||
# Footer prints #
|
||||
|
@ -617,7 +617,7 @@ function LintAnsibleFiles() {
|
|||
###########################################
|
||||
# Validate we have ansible-lint installed #
|
||||
###########################################
|
||||
VALIDATE_INSTALL_CMD=$(command -v "$LINTER_NAME" 2>&1)
|
||||
VALIDATE_INSTALL_CMD=$(command -v "${LINTER_NAME}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -627,17 +627,17 @@ function LintAnsibleFiles() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
# Failed
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to find $LINTER_NAME in system!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$VALIDATE_INSTALL_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Failed to find ${LINTER_NAME} in system!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${VALIDATE_INSTALL_CMD}]${NC}"
|
||||
exit 1
|
||||
else
|
||||
# Success
|
||||
if [[ $ACTIONS_RUNNER_DEBUG == "true" ]]; then
|
||||
if [[ ${ACTIONS_RUNNER_DEBUG} == "true" ]]; then
|
||||
# Success
|
||||
echo -e "${NC}${F[B]}Successfully found binary in system${NC}"
|
||||
echo "Location:[$VALIDATE_INSTALL_CMD]"
|
||||
echo "Location:[${VALIDATE_INSTALL_CMD}]"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -654,18 +654,18 @@ function LintAnsibleFiles() {
|
|||
######################################################
|
||||
# Only go into ansible linter if we have base folder #
|
||||
######################################################
|
||||
if [ -d "$ANSIBLE_DIRECTORY" ]; then
|
||||
if [ -d "${ANSIBLE_DIRECTORY}" ]; then
|
||||
|
||||
#################################
|
||||
# Get list of all files to lint #
|
||||
#################################
|
||||
mapfile -t LIST_FILES < <(ls "$ANSIBLE_DIRECTORY"/*.{yaml,yml} 2>&1)
|
||||
mapfile -t LIST_FILES < <(ls "${ANSIBLE_DIRECTORY}"/*.{yaml,yml} 2>&1)
|
||||
|
||||
###############################################################
|
||||
# Set the list to empty if only MD and TXT files were changed #
|
||||
###############################################################
|
||||
# No need to run the full ansible checks on read only file changes
|
||||
if [ "$READ_ONLY_CHANGE_FLAG" -eq 0 ]; then
|
||||
if [ "${READ_ONLY_CHANGE_FLAG}" -eq 0 ]; then
|
||||
##########################
|
||||
# Set the array to empty #
|
||||
##########################
|
||||
|
@ -683,12 +683,12 @@ function LintAnsibleFiles() {
|
|||
####################################
|
||||
# Check if we have data to look at #
|
||||
####################################
|
||||
if [ $SKIP_FLAG -eq 0 ]; then
|
||||
if [ ${SKIP_FLAG} -eq 0 ]; then
|
||||
for LINE in "${PRINT_ARRAY[@]}"; do
|
||||
#########################
|
||||
# Print the header line #
|
||||
#########################
|
||||
echo "$LINE"
|
||||
echo "${LINE}"
|
||||
done
|
||||
fi
|
||||
|
||||
|
@ -710,7 +710,7 @@ function LintAnsibleFiles() {
|
|||
########################################
|
||||
# Make sure we dont lint certain files #
|
||||
########################################
|
||||
if [[ $FILE == *"vault.yml"* ]] || [[ $FILE == *"galaxy.yml"* ]]; then
|
||||
if [[ ${FILE} == *"vault.yml"* ]] || [[ ${FILE} == *"galaxy.yml"* ]]; then
|
||||
# This is a file we dont look at
|
||||
continue
|
||||
fi
|
||||
|
@ -723,18 +723,18 @@ function LintAnsibleFiles() {
|
|||
####################
|
||||
# Get the filename #
|
||||
####################
|
||||
FILE_NAME=$(basename "$ANSIBLE_DIRECTORY/$FILE" 2>&1)
|
||||
FILE_NAME=$(basename "${ANSIBLE_DIRECTORY}/${FILE}" 2>&1)
|
||||
|
||||
##############
|
||||
# File print #
|
||||
##############
|
||||
echo "---------------------------"
|
||||
echo "File:[$FILE]"
|
||||
echo "File:[${FILE}]"
|
||||
|
||||
################################
|
||||
# Lint the file with the rules #
|
||||
################################
|
||||
LINT_CMD=$("$LINTER_NAME" -v -c "$ANSIBLE_LINTER_RULES" "$ANSIBLE_DIRECTORY/$FILE" 2>&1)
|
||||
LINT_CMD=$("${LINTER_NAME}" -v -c "${ANSIBLE_LINTER_RULES}" "${ANSIBLE_DIRECTORY}/${FILE}" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -744,12 +744,12 @@ function LintAnsibleFiles() {
|
|||
##############################
|
||||
# Check the shell for errors #
|
||||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
if [ ${ERROR_CODE} -ne 0 ]; then
|
||||
#########
|
||||
# Error #
|
||||
#########
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Found errors in [$LINTER_NAME] linter!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[$LINT_CMD]${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR!${NC} Found errors in [${LINTER_NAME}] linter!${NC}"
|
||||
echo -e "${NC}${B[R]}${F[W]}ERROR:${NC}[${LINT_CMD}]${NC}"
|
||||
# Increment error count
|
||||
((ERRORS_FOUND_ANSIBLE++))
|
||||
|
||||
|
@ -765,7 +765,7 @@ function LintAnsibleFiles() {
|
|||
###########
|
||||
# Success #
|
||||
###########
|
||||
echo -e "${NC}${F[B]} - File:${F[W]}[$FILE_NAME]${F[B]} was linted with ${F[W]}[$LINTER_NAME]${F[B]} successfully${NC}"
|
||||
echo -e "${NC}${F[B]} - File:${F[W]}[${FILE_NAME}]${F[B]} was linted with ${F[W]}[${LINTER_NAME}]${F[B]} successfully${NC}"
|
||||
|
||||
#######################################################
|
||||
# Store the linting as a temporary file in TAP format #
|
||||
|
@ -787,11 +787,11 @@ function LintAnsibleFiles() {
|
|||
###############################
|
||||
# Check to see if debug is on #
|
||||
###############################
|
||||
if [[ $ACTIONS_RUNNER_DEBUG == "true" ]]; then
|
||||
if [[ ${ACTIONS_RUNNER_DEBUG} == "true" ]]; then
|
||||
########################
|
||||
# No Ansible dir found #
|
||||
########################
|
||||
echo -e "${NC}${F[Y]}WARN!${NC} No Ansible base directory found at:[$ANSIBLE_DIRECTORY]${NC}"
|
||||
echo -e "${NC}${F[Y]}WARN!${NC} No Ansible base directory found at:[${ANSIBLE_DIRECTORY}]${NC}"
|
||||
echo "skipping ansible lint"
|
||||
fi
|
||||
fi
|
||||
|
@ -808,7 +808,7 @@ function IsTAP() {
|
|||
################################################################################
|
||||
#### Function TransformTAPDetails ##############################################
|
||||
function TransformTAPDetails() {
|
||||
DATA=$1
|
||||
DATA=${1}
|
||||
if [ -n "${DATA}" ] && [ "${OUTPUT_DETAILS}" == "detailed" ] ; then
|
||||
#########################################################
|
||||
# Transform new lines to \\n, remove colours and colons #
|
||||
|
@ -822,8 +822,8 @@ function HeaderTap() {
|
|||
################
|
||||
# Pull in Vars #
|
||||
################
|
||||
INDEX="$1" # File being validated
|
||||
OUTPUT_FILE="$2" # Output location
|
||||
INDEX="${1}" # File being validated
|
||||
OUTPUT_FILE="${2}" # Output location
|
||||
|
||||
###################
|
||||
# Print the goods #
|
||||
|
@ -836,9 +836,9 @@ function OkTap() {
|
|||
################
|
||||
# Pull in Vars #
|
||||
################
|
||||
INDEX="$1" # Location
|
||||
FILE="$2" # File being validated
|
||||
TEMP_FILE="$3" # Temp file location
|
||||
INDEX="${1}" # Location
|
||||
FILE="${2}" # File being validated
|
||||
TEMP_FILE="${3}" # Temp file location
|
||||
|
||||
###################
|
||||
# Print the goods #
|
||||
|
@ -851,9 +851,9 @@ function NotOkTap() {
|
|||
################
|
||||
# Pull in Vars #
|
||||
################
|
||||
INDEX="$1" # Location
|
||||
FILE="$2" # File being validated
|
||||
TEMP_FILE="$3" # Temp file location
|
||||
INDEX="${1}" # Location
|
||||
FILE="${2}" # File being validated
|
||||
TEMP_FILE="${3}" # Temp file location
|
||||
|
||||
###################
|
||||
# Print the goods #
|
||||
|
@ -866,14 +866,14 @@ function AddDetailedMessageIfEnabled() {
|
|||
################
|
||||
# Pull in Vars #
|
||||
################
|
||||
LINT_CMD="$1" # Linter command
|
||||
TEMP_FILE="$2" # Temp file
|
||||
LINT_CMD="${1}" # Linter command
|
||||
TEMP_FILE="${2}" # Temp file
|
||||
|
||||
####################
|
||||
# Check the return #
|
||||
####################
|
||||
DETAILED_MSG=$(TransformTAPDetails "${LINT_CMD}")
|
||||
if [ -n "${DETAILED_MSG}" ] ; then
|
||||
printf " ---\n message: %s\n ...\n" "$DETAILED_MSG" >> "${TEMP_FILE}"
|
||||
printf " ---\n message: %s\n ...\n" "${DETAILED_MSG}" >> "${TEMP_FILE}"
|
||||
fi
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue