mirror of
https://github.com/super-linter/super-linter.git
synced 2024-12-22 20:52:12 -05:00
Merge remote-tracking branch 'upstream/master' into github-issue-318
This commit is contained in:
commit
6b60348fd5
9 changed files with 62 additions and 80 deletions
|
@ -87,8 +87,7 @@ CheckGHEProcess()
|
||||||
####################################################
|
####################################################
|
||||||
# Check to see if the process is alive and running #
|
# Check to see if the process is alive and running #
|
||||||
####################################################
|
####################################################
|
||||||
# shellcheck disable=SC2009
|
CHECK_PROCESS_CMD=$(pgrep -f "$GHE_APPLY_COMMAND" 2>&1)
|
||||||
CHECK_PROCESS_CMD=$(ps -aef |grep "$GHE_APPLY_COMMAND" |grep -v grep 2>&1)
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
# Load the error code #
|
# Load the error code #
|
||||||
|
|
|
@ -166,7 +166,7 @@ ValidateInput()
|
||||||
##############################
|
##############################
|
||||||
# Get the name of the branch #
|
# Get the name of the branch #
|
||||||
##############################
|
##############################
|
||||||
BRANCH_NAME=$(git 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 #
|
# Load the error code #
|
||||||
|
@ -407,8 +407,7 @@ UploadImage()
|
||||||
REPO=$(echo "$GET_INFO_CMD" | awk '{print $1}')
|
REPO=$(echo "$GET_INFO_CMD" | awk '{print $1}')
|
||||||
TAG=$(echo "$GET_INFO_CMD" | awk '{print $2}')
|
TAG=$(echo "$GET_INFO_CMD" | awk '{print $2}')
|
||||||
IMAGE_ID=$(echo "$GET_INFO_CMD" | awk '{print $3}')
|
IMAGE_ID=$(echo "$GET_INFO_CMD" | awk '{print $3}')
|
||||||
# shellcheck disable=SC2116
|
SIZE="${GET_INFO_CMD##* }"
|
||||||
SIZE=$(echo "${GET_INFO_CMD##* }")
|
|
||||||
|
|
||||||
###################
|
###################
|
||||||
# Print the goods #
|
# Print the goods #
|
||||||
|
|
2
.vscode/testlinter.sh
vendored
2
.vscode/testlinter.sh
vendored
|
@ -22,5 +22,5 @@ fi
|
||||||
#########################
|
#########################
|
||||||
export RUN_LOCAL=true
|
export RUN_LOCAL=true
|
||||||
|
|
||||||
# shellcheck disable=SC1091,SC1090
|
# shellcheck source=/dev/null
|
||||||
source "$PWD"/lib/linter.sh
|
source "$PWD"/lib/linter.sh
|
||||||
|
|
12
README.md
12
README.md
|
@ -8,7 +8,6 @@ The end goal of this tool:
|
||||||
- Build guidelines for code layout and format
|
- Build guidelines for code layout and format
|
||||||
- Automate the process to help streamline code reviews
|
- Automate the process to help streamline code reviews
|
||||||
|
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
- [How it works](#how-it-works)
|
- [How it works](#how-it-works)
|
||||||
|
@ -60,10 +59,15 @@ Developers on **GitHub** can call the **GitHub Action** to lint their code base
|
||||||
| **YAML** | [YamlLint](https://github.com/adrienverge/yamllint) |
|
| **YAML** | [YamlLint](https://github.com/adrienverge/yamllint) |
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
<img height="512" src="https://github.com/github/super-linter/blob/quickstart/docs/how-to.gif?raw=true" alt="How to gif">
|
||||||
|
|
||||||
To use this **GitHub** Action you will need to complete the following:
|
To use this **GitHub** Action you will need to complete the following:
|
||||||
- Add the **GitHub** Action: **Super-Linter** to your current **GitHub** Actions workflow
|
1. Create a new file in your repository called `.github/workflows/linter.yml`
|
||||||
- Enjoy your more *stable*, and *cleaner* code base
|
2. Copy the example workflow from below into that new file, no extra configuration required
|
||||||
- Check out the [Wiki](https://github.com/github/super-linter/wiki) for customization options
|
3. Commit that file to a new branch
|
||||||
|
4. Open up a pull request and observe the action working
|
||||||
|
5. Enjoy your more *stable*, and *cleaner* code base
|
||||||
|
6. Check out the [Wiki](https://github.com/github/super-linter/wiki) for customization options
|
||||||
|
|
||||||
### Example connecting GitHub Action Workflow
|
### Example connecting GitHub Action Workflow
|
||||||
In your repository you should have a `.github/workflows` folder with **GitHub** Action similar to below:
|
In your repository you should have a `.github/workflows` folder with **GitHub** Action similar to below:
|
||||||
|
|
BIN
docs/how-to.gif
Normal file
BIN
docs/how-to.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 MiB |
|
@ -1,5 +1,4 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# shellcheck disable=SC2034
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -56,8 +55,7 @@ function BuildFileList()
|
||||||
#################################################
|
#################################################
|
||||||
# Get the Array of files changed in the commits #
|
# Get the Array of files changed in the commits #
|
||||||
#################################################
|
#################################################
|
||||||
# shellcheck disable=SC2207
|
mapfile -t RAW_FILE_ARRAY < <(git -C "$GITHUB_WORKSPACE" diff --name-only "$DEFAULT_BRANCH..$GITHUB_SHA" --diff-filter=d 2>&1)
|
||||||
RAW_FILE_ARRAY=($(cd "$GITHUB_WORKSPACE" || exit; git diff --name-only "$DEFAULT_BRANCH..$GITHUB_SHA" --diff-filter=d 2>&1))
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
# Load the error code #
|
# Load the error code #
|
||||||
|
@ -413,6 +411,8 @@ function BuildFileList()
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo ${READ_ONLY_CHANGE_FLAG} > /dev/null 2>&1 || true # Workaround SC2034
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
# Need to switch back to branch of code #
|
# Need to switch back to branch of code #
|
||||||
#########################################
|
#########################################
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# shellcheck disable=SC1003,SC2016,SC1091
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -10,8 +9,11 @@
|
||||||
#########################
|
#########################
|
||||||
# Source Function Files #
|
# Source Function Files #
|
||||||
#########################
|
#########################
|
||||||
|
# shellcheck source=/dev/null
|
||||||
source /action/lib/buildFileList.sh # Source the function script(s)
|
source /action/lib/buildFileList.sh # Source the function script(s)
|
||||||
|
# shellcheck source=/dev/null
|
||||||
source /action/lib/validation.sh # Source the function script(s)
|
source /action/lib/validation.sh # Source the function script(s)
|
||||||
|
# shellcheck source=/dev/null
|
||||||
source /action/lib/worker.sh # Source the function script(s)
|
source /action/lib/worker.sh # Source the function script(s)
|
||||||
|
|
||||||
###########
|
###########
|
||||||
|
@ -147,16 +149,16 @@ DEFAULT_IFS="$IFS" # Get the Default IFS for updating
|
||||||
###############################################################
|
###############################################################
|
||||||
# Default Vars that are called in Subs and need to be ignored #
|
# Default Vars that are called in Subs and need to be ignored #
|
||||||
###############################################################
|
###############################################################
|
||||||
# shellcheck disable=SC2034
|
|
||||||
DEFAULT_DISABLE_ERRORS='false' # Default to enabling errors
|
DEFAULT_DISABLE_ERRORS='false' # Default to enabling errors
|
||||||
# shellcheck disable=SC2034
|
echo "${DEFAULT_DISABLE_ERRORS}" > /dev/null 2>&1 || true # Workaround SC2034
|
||||||
RAW_FILE_ARRAY=() # Array of all files that were changed
|
RAW_FILE_ARRAY=() # Array of all files that were changed
|
||||||
# shellcheck disable=SC2034
|
echo "${RAW_FILE_ARRAY[*]}" > /dev/null 2>&1 || true # Workaround SC2034
|
||||||
READ_ONLY_CHANGE_FLAG=0 # Flag set to 1 if files changed are not txt or md
|
READ_ONLY_CHANGE_FLAG=0 # Flag set to 1 if files changed are not txt or md
|
||||||
# shellcheck disable=SC2034
|
echo "${READ_ONLY_CHANGE_FLAG}" > /dev/null 2>&1 || true # Workaround SC2034
|
||||||
TEST_CASE_FOLDER='.automation/test' # Folder for test cases we should always ignore
|
TEST_CASE_FOLDER='.automation/test' # Folder for test cases we should always ignore
|
||||||
# shellcheck disable=SC2034
|
echo "${TEST_CASE_FOLDER}" > /dev/null 2>&1 || true # Workaround SC2034
|
||||||
DEFAULT_ANSIBLE_DIRECTORY="$GITHUB_WORKSPACE/ansible" # Default Ansible Directory
|
DEFAULT_ANSIBLE_DIRECTORY="$GITHUB_WORKSPACE/ansible" # Default Ansible Directory
|
||||||
|
echo "${DEFAULT_ANSIBLE_DIRECTORY}" > /dev/null 2>&1 || true # Workaround SC2034
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# Array of changed files #
|
# Array of changed files #
|
||||||
|
@ -265,8 +267,7 @@ GetLinterVersions()
|
||||||
###################
|
###################
|
||||||
# Get the version #
|
# Get the version #
|
||||||
###################
|
###################
|
||||||
# shellcheck disable=SC2207
|
mapfile -t GET_VERSION_CMD < <("$LINTER" --version 2>&1)
|
||||||
GET_VERSION_CMD=($("$LINTER" --version 2>&1))
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
# Load the error code #
|
# Load the error code #
|
||||||
|
@ -357,11 +358,9 @@ GetStandardRules()
|
||||||
# Only env vars that are marked as true
|
# Only env vars that are marked as true
|
||||||
GET_ENV_ARRAY=()
|
GET_ENV_ARRAY=()
|
||||||
if [[ "$LINTER" == "javascript" ]]; then
|
if [[ "$LINTER" == "javascript" ]]; then
|
||||||
# shellcheck disable=SC2207
|
mapfile -t GET_ENV_ARRAY < <(yq .env "$JAVASCRIPT_LINTER_RULES" | grep true)
|
||||||
GET_ENV_ARRAY=($(yq .env "$JAVASCRIPT_LINTER_RULES" |grep true))
|
|
||||||
elif [[ "$LINTER" == "typescript" ]]; then
|
elif [[ "$LINTER" == "typescript" ]]; then
|
||||||
# shellcheck disable=SC2207
|
mapfile -t GET_ENV_ARRAY < <(yq .env "$TYPESCRIPT_LINTER_RULES" | grep true)
|
||||||
GET_ENV_ARRAY=($(yq .env "$TYPESCRIPT_LINTER_RULES" |grep true))
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
|
@ -612,8 +611,7 @@ GetGitHubVars()
|
||||||
######################
|
######################
|
||||||
# Get the GitHub Org #
|
# Get the GitHub Org #
|
||||||
######################
|
######################
|
||||||
# shellcheck disable=SC2002
|
GITHUB_ORG=$(jq -r '.repository.owner.login' < "$GITHUB_EVENT_PATH" )
|
||||||
GITHUB_ORG=$(cat "$GITHUB_EVENT_PATH" | jq -r '.repository.owner.login' )
|
|
||||||
|
|
||||||
############################
|
############################
|
||||||
# Validate we have a value #
|
# Validate we have a value #
|
||||||
|
@ -629,8 +627,7 @@ GetGitHubVars()
|
||||||
#######################
|
#######################
|
||||||
# Get the GitHub Repo #
|
# Get the GitHub Repo #
|
||||||
#######################
|
#######################
|
||||||
# shellcheck disable=SC2002
|
GITHUB_REPO=$(jq -r '.repository.name' < "$GITHUB_EVENT_PATH" )
|
||||||
GITHUB_REPO=$(cat "$GITHUB_EVENT_PATH"| jq -r '.repository.name' )
|
|
||||||
|
|
||||||
############################
|
############################
|
||||||
# Validate we have a value #
|
# Validate we have a value #
|
||||||
|
@ -1109,8 +1106,7 @@ if [ "$VALIDATE_OPENAPI" == "true" ]; then
|
||||||
###############################################################################
|
###############################################################################
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
|
|
||||||
# shellcheck disable=SC2207
|
mapfile -t LIST_FILES < <(find "$GITHUB_WORKSPACE" -type f -regex ".*\.\(yml\|yaml\|json\)\$" 2>&1)
|
||||||
LIST_FILES=($(cd "$GITHUB_WORKSPACE" || exit; find . -type f -regex ".*\.\(yml\|yaml\|json\)\$" 2>&1))
|
|
||||||
for FILE in "${LIST_FILES[@]}"
|
for FILE in "${LIST_FILES[@]}"
|
||||||
do
|
do
|
||||||
if DetectOpenAPIFile "$FILE"; then
|
if DetectOpenAPIFile "$FILE"; then
|
||||||
|
|
|
@ -68,7 +68,7 @@ function GetValidationInfo()
|
||||||
VALIDATE_POWERSHELL=$(echo "$VALIDATE_POWERSHELL" | awk '{print tolower($0)}')
|
VALIDATE_POWERSHELL=$(echo "$VALIDATE_POWERSHELL" | awk '{print tolower($0)}')
|
||||||
VALIDATE_CSS=$(echo "$VALIDATE_CSS" | awk '{print tolower($0)}')
|
VALIDATE_CSS=$(echo "$VALIDATE_CSS" | awk '{print tolower($0)}')
|
||||||
VALIDATE_ENV=$(echo "$VALIDATE_ENV" | awk '{print tolower($0)}')
|
VALIDATE_ENV=$(echo "$VALIDATE_ENV" | awk '{print tolower($0)}')
|
||||||
VALIDATE_CLOJURE=$(echo "$VALIDATE_CLOJURE" | awk '{print tolower($0)')
|
VALIDATE_CLOJURE=$(echo "$VALIDATE_CLOJURE" | awk '{print tolower($0)}')
|
||||||
VALIDATE_KOTLIN=$(echo "$VALIDATE_KOTLIN" | awk '{print tolower($0)}')
|
VALIDATE_KOTLIN=$(echo "$VALIDATE_KOTLIN" | awk '{print tolower($0)}')
|
||||||
VALIDATE_PROTOBUF=$(echo "$VALIDATE_PROTOBUF" | awk '{print tolower($0)}')
|
VALIDATE_PROTOBUF=$(echo "$VALIDATE_PROTOBUF" | awk '{print tolower($0)}')
|
||||||
VALIDATE_OPENAPI=$(echo "$VALIDATE_OPENAPI" | awk '{print tolower($0)}')
|
VALIDATE_OPENAPI=$(echo "$VALIDATE_OPENAPI" | awk '{print tolower($0)}')
|
||||||
|
|
|
@ -38,7 +38,6 @@ function LintCodebase()
|
||||||
#####################################
|
#####################################
|
||||||
# Validate we have linter installed #
|
# Validate we have linter installed #
|
||||||
#####################################
|
#####################################
|
||||||
# shellcheck disable=SC2230
|
|
||||||
VALIDATE_INSTALL_CMD=$(command -v "$LINTER_NAME" 2>&1)
|
VALIDATE_INSTALL_CMD=$(command -v "$LINTER_NAME" 2>&1)
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
|
@ -123,8 +122,7 @@ function LintCodebase()
|
||||||
#################################
|
#################################
|
||||||
# Get list of all files to lint #
|
# Get list of all files to lint #
|
||||||
#################################
|
#################################
|
||||||
# shellcheck disable=SC2207,SC2086
|
mapfile -t LIST_FILES < <(find "$GITHUB_WORKSPACE" -type f -regex "$FILE_EXTENSIONS" 2>&1)
|
||||||
LIST_FILES=($(cd "$GITHUB_WORKSPACE" || exit; find . -type f -regex "$FILE_EXTENSIONS" 2>&1))
|
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
# Set IFS back to default #
|
# Set IFS back to default #
|
||||||
|
@ -246,6 +244,7 @@ function TestCodebase()
|
||||||
LINTER_COMMAND="$3" # Pull the variable and remove from array path (Example: jsonlint -c ConfigFile /path/to/file)
|
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)
|
FILE_EXTENSIONS="$4" # Pull the variable and remove from array path (Example: *.json)
|
||||||
INDVIDUAL_TEST_FOLDER="$5" # Folder for specific tests
|
INDVIDUAL_TEST_FOLDER="$5" # Folder for specific tests
|
||||||
|
TESTS_RAN=0 # Incremented when tests are ran, this will help find failed finds
|
||||||
|
|
||||||
################
|
################
|
||||||
# print header #
|
# print header #
|
||||||
|
@ -261,7 +260,6 @@ function TestCodebase()
|
||||||
#####################################
|
#####################################
|
||||||
# Validate we have linter installed #
|
# Validate we have linter installed #
|
||||||
#####################################
|
#####################################
|
||||||
# shellcheck disable=SC2230
|
|
||||||
VALIDATE_INSTALL_CMD=$(command -v "$LINTER_NAME" 2>&1)
|
VALIDATE_INSTALL_CMD=$(command -v "$LINTER_NAME" 2>&1)
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
|
@ -288,32 +286,10 @@ function TestCodebase()
|
||||||
##########################
|
##########################
|
||||||
LIST_FILES=()
|
LIST_FILES=()
|
||||||
|
|
||||||
############################################
|
#################################
|
||||||
# Check if its ansible, as its the outlier #
|
# Get list of all files to lint #
|
||||||
############################################
|
#################################
|
||||||
if [[ "$FILE_TYPE" == "ANSIBLE" ]]; then
|
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/*" 2>&1)
|
||||||
#################################
|
|
||||||
# Get list of all files to lint #
|
|
||||||
#################################
|
|
||||||
# shellcheck disable=SC2207,SC2086,SC2010
|
|
||||||
LIST_FILES=($(cd "$GITHUB_WORKSPACE/$TEST_CASE_FOLDER" || exit; ls ansible/ | grep ".yml" 2>&1))
|
|
||||||
else
|
|
||||||
###############################################################################
|
|
||||||
# Set the file seperator to newline to allow for grabbing objects with spaces #
|
|
||||||
###############################################################################
|
|
||||||
IFS=$'\n'
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Get list of all files to lint #
|
|
||||||
#################################
|
|
||||||
# shellcheck disable=SC2207,SC2086
|
|
||||||
LIST_FILES=($(cd "$GITHUB_WORKSPACE/$TEST_CASE_FOLDER" || exit; find "$INDVIDUAL_TEST_FOLDER" -type f -regex "$FILE_EXTENSIONS" ! -path "*./ansible*" 2>&1))
|
|
||||||
|
|
||||||
###########################
|
|
||||||
# Set IFS back to default #
|
|
||||||
###########################
|
|
||||||
IFS="$DEFAULT_IFS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
##################
|
##################
|
||||||
# Lint the files #
|
# Lint the files #
|
||||||
|
@ -384,7 +360,7 @@ function TestCodebase()
|
||||||
################################
|
################################
|
||||||
# Lint the file with the rules #
|
# Lint the file with the rules #
|
||||||
################################
|
################################
|
||||||
LINT_CMD=$(cd "$GITHUB_WORKSPACE/$TEST_CASE_FOLDER/ansible" || exit; $LINTER_COMMAND "$FILE" 2>&1)
|
LINT_CMD=$(cd "$GITHUB_WORKSPACE/$TEST_CASE_FOLDER/$INDVIDUAL_TEST_FOLDER" || exit; $LINTER_COMMAND "$FILE" 2>&1)
|
||||||
elif [[ "$FILE_TYPE" == "POWERSHELL" ]]; then
|
elif [[ "$FILE_TYPE" == "POWERSHELL" ]]; then
|
||||||
################################
|
################################
|
||||||
# Lint the file with the rules #
|
# Lint the file with the rules #
|
||||||
|
@ -419,11 +395,15 @@ function TestCodebase()
|
||||||
echo "ERROR: Linter CMD:[$LINTER_COMMAND $FILE]"
|
echo "ERROR: Linter CMD:[$LINTER_COMMAND $FILE]"
|
||||||
# Increment the error count
|
# Increment the error count
|
||||||
(("ERRORS_FOUND_$FILE_TYPE++"))
|
(("ERRORS_FOUND_$FILE_TYPE++"))
|
||||||
|
# Increment counter that check was ran
|
||||||
|
((TESTS_RAN++))
|
||||||
else
|
else
|
||||||
###########
|
###########
|
||||||
# Success #
|
# Success #
|
||||||
###########
|
###########
|
||||||
echo " - File:[$FILE_NAME] was linted with [$LINTER_NAME] successfully"
|
echo " - File:[$FILE_NAME] was linted with [$LINTER_NAME] successfully"
|
||||||
|
# Increment counter that check was ran
|
||||||
|
((TESTS_RAN++))
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
#######################################
|
#######################################
|
||||||
|
@ -442,14 +422,30 @@ function TestCodebase()
|
||||||
echo "ERROR: Linter CMD:[$LINTER_COMMAND $FILE]"
|
echo "ERROR: Linter CMD:[$LINTER_COMMAND $FILE]"
|
||||||
# Increment the error count
|
# Increment the error count
|
||||||
(("ERRORS_FOUND_$FILE_TYPE++"))
|
(("ERRORS_FOUND_$FILE_TYPE++"))
|
||||||
|
# Increment counter that check was ran
|
||||||
|
((TESTS_RAN++))
|
||||||
else
|
else
|
||||||
###########
|
###########
|
||||||
# Success #
|
# Success #
|
||||||
###########
|
###########
|
||||||
echo " - File:[$FILE_NAME] failed test case with [$LINTER_NAME] successfully"
|
echo " - File:[$FILE_NAME] failed test case with [$LINTER_NAME] successfully"
|
||||||
|
# Increment counter that check was ran
|
||||||
|
((TESTS_RAN++))
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
##############################
|
||||||
|
# Validate we ran some tests #
|
||||||
|
##############################
|
||||||
|
if [ "$TESTS_RAN" -eq 0 ]; then
|
||||||
|
#################################################
|
||||||
|
# We failed to find files and no tests were ran #
|
||||||
|
#################################################
|
||||||
|
echo "ERROR! Failed to find any tests ran for the Linter:[$LINTER_NAME]"!
|
||||||
|
echo "Please validate logic or that tests exist!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
################################################################################
|
################################################################################
|
||||||
#### Function RunTestCases #####################################################
|
#### Function RunTestCases #####################################################
|
||||||
|
@ -492,7 +488,7 @@ function RunTestCases()
|
||||||
TestCodebase "TYPESCRIPT_ES" "eslint" "eslint --no-eslintrc -c $TYPESCRIPT_LINTER_RULES" ".*\.\(ts\)\$" "typescript"
|
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 "TYPESCRIPT_STANDARD" "standard" "standard --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin $TYPESCRIPT_STANDARD_LINTER_RULES" ".*\.\(ts\)\$" "typescript"
|
||||||
TestCodebase "DOCKER" "/dockerfilelint/bin/dockerfilelint" "/dockerfilelint/bin/dockerfilelint -c $DOCKER_LINTER_RULES" ".*\(Dockerfile\)\$" "docker"
|
TestCodebase "DOCKER" "/dockerfilelint/bin/dockerfilelint" "/dockerfilelint/bin/dockerfilelint -c $DOCKER_LINTER_RULES" ".*\(Dockerfile\)\$" "docker"
|
||||||
TestCodebase "ANSIBLE" "ansible-lint" "ansible-lint -v -c $ANSIBLE_LINTER_RULES" "ansible-lint" "ansible"
|
TestCodebase "ANSIBLE" "ansible-lint" "ansible-lint -v -c $ANSIBLE_LINTER_RULES" ".*\.\(yml\|yaml\)\$" "ansible"
|
||||||
TestCodebase "TERRAFORM" "tflint" "tflint -c $TERRAFORM_LINTER_RULES" ".*\.\(tf\)\$" "terraform"
|
TestCodebase "TERRAFORM" "tflint" "tflint -c $TERRAFORM_LINTER_RULES" ".*\.\(tf\)\$" "terraform"
|
||||||
TestCodebase "CFN" "cfn-lint" "cfn-lint --config-file $CFN_LINTER_RULES" ".*\.\(json\|yml\|yaml\)\$" "cfn"
|
TestCodebase "CFN" "cfn-lint" "cfn-lint --config-file $CFN_LINTER_RULES" ".*\.\(json\|yml\|yaml\)\$" "cfn"
|
||||||
TestCodebase "POWERSHELL" "pwsh" "pwsh -c Invoke-ScriptAnalyzer -EnableExit -Settings $POWERSHELL_LINTER_RULES -Path" ".*\.\(ps1\|psm1\|psd1\|ps1xml\|pssc\|psrc\|cdxml\)\$" "powershell"
|
TestCodebase "POWERSHELL" "pwsh" "pwsh -c Invoke-ScriptAnalyzer -EnableExit -Settings $POWERSHELL_LINTER_RULES -Path" ".*\.\(ps1\|psm1\|psd1\|ps1xml\|pssc\|psrc\|cdxml\)\$" "powershell"
|
||||||
|
@ -537,7 +533,6 @@ function LintAnsibleFiles()
|
||||||
###########################################
|
###########################################
|
||||||
# Validate we have ansible-lint installed #
|
# Validate we have ansible-lint installed #
|
||||||
###########################################
|
###########################################
|
||||||
# shellcheck disable=SC2230
|
|
||||||
VALIDATE_INSTALL_CMD=$(command -v "$LINTER_NAME" 2>&1)
|
VALIDATE_INSTALL_CMD=$(command -v "$LINTER_NAME" 2>&1)
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
|
@ -577,21 +572,10 @@ function LintAnsibleFiles()
|
||||||
######################################################
|
######################################################
|
||||||
if [ -d "$ANSIBLE_DIRECTORY" ]; then
|
if [ -d "$ANSIBLE_DIRECTORY" ]; then
|
||||||
|
|
||||||
############################################################
|
#################################
|
||||||
# Check to see if we need to go through array or all files #
|
# Get list of all files to lint #
|
||||||
############################################################
|
#################################
|
||||||
if [ "$VALIDATE_ALL_CODEBASE" == "false" ]; then
|
mapfile -t LIST_FILES < <(ls "$ANSIBLE_DIRECTORY/*.yml" 2>&1)
|
||||||
# We need to only check the ansible playbooks that have updates
|
|
||||||
#LIST_FILES=("${ANSIBLE_ARRAY[@]}")
|
|
||||||
# shellcheck disable=SC2164,SC2010,SC2207
|
|
||||||
LIST_FILES=($(cd "$ANSIBLE_DIRECTORY"; ls | grep ".yml" 2>&1))
|
|
||||||
else
|
|
||||||
#################################
|
|
||||||
# Get list of all files to lint #
|
|
||||||
#################################
|
|
||||||
# shellcheck disable=SC2164,SC2010,SC2207
|
|
||||||
LIST_FILES=($(cd "$ANSIBLE_DIRECTORY"; ls | grep ".yml" 2>&1))
|
|
||||||
fi
|
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
# Set the list to empty if only MD and TXT files were changed #
|
# Set the list to empty if only MD and TXT files were changed #
|
||||||
|
|
Loading…
Reference in a new issue