Merge pull request #927 from github/fix-secondary-rules-file

Don't override the secondary rules file path if available, don't reuse dirty values from previous iterations when loading rules files
This commit is contained in:
Lukas Gravley 2020-11-02 08:58:06 -06:00 committed by GitHub
commit 5a04bd9875
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 23 deletions

View file

@ -311,9 +311,9 @@ analyzer:
### Hadolint standard Config file
- `.github/linters/.hadolint.yml`
- `.github/linters/.hadolint.yaml`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.hadolint.yml`
- File should be located at: `.github/linters/.hadolint.yaml`
### Hadolint disable single line

View file

@ -79,7 +79,7 @@ CSS_FILE_NAME="${CSS_FILE_NAME:-.stylelintrc.json}"
DART_FILE_NAME="analysis_options.yml"
# shellcheck disable=SC2034 # Variable is referenced indirectly
DOCKERFILE_FILE_NAME=".dockerfilelintrc"
DOCKERFILE_HADOLINT_FILE_NAME="${DOCKERFILE_HADOLINT_FILE_NAME:-.hadolint.yml}"
DOCKERFILE_HADOLINT_FILE_NAME="${DOCKERFILE_HADOLINT_FILE_NAME:-.hadolint.yaml}"
EDITORCONFIG_FILE_NAME="${EDITORCONFIG_FILE_NAME:-.ecrc}"
# shellcheck disable=SC2034 # Variable is referenced indirectly
GO_FILE_NAME=".golangci.yml"
@ -380,6 +380,9 @@ GetLinterRules() {
return
fi
debug "Initializing LANGUAGE_LINTER_RULES value to an empty string..."
eval "${LANGUAGE_LINTER_RULES}="
##########################
# Get the file extension #
##########################
@ -387,10 +390,12 @@ GetLinterRules() {
FILE_NAME=$(basename "${!LANGUAGE_FILE_NAME}" ".${FILE_EXTENSION}")
debug "${LANGUAGE_NAME} language rule file (${!LANGUAGE_FILE_NAME}) has ${FILE_NAME} name and ${FILE_EXTENSION} extension"
###############################
# Set the secondary file name #
###############################
########################################
# Set the secondary file name and path #
########################################
debug "Initializing SECONDARY_FILE_NAME and SECONDARY_LANGUAGE_FILE_PATH..."
SECONDARY_FILE_NAME=''
SECONDARY_LANGUAGE_FILE_PATH=
#################################
# Check for secondary file name #
@ -416,29 +421,28 @@ GetLinterRules() {
# Update the path to the file location #
########################################
eval "${LANGUAGE_LINTER_RULES}=${LANGUAGE_FILE_PATH}"
else
debug " -> Codebase does NOT have file:[${LANGUAGE_FILE_PATH}]"
# Check if we have secondary name to check
if [ -n "$SECONDARY_FILE_NAME" ]; then
SECONDARY_LANGUAGE_FILE_PATH="${GITHUB_WORKSPACE}/${LINTER_RULES_PATH}/${SECONDARY_FILE_NAME}"
debug "${LANGUAGE_NAME} language rule file has a secondary rules file name to check (${SECONDARY_FILE_NAME}). Path: ${SECONDARY_LANGUAGE_FILE_PATH}"
if [ -f "${SECONDARY_LANGUAGE_FILE_PATH}" ]; then
info "----------------------------------------------"
info "User provided file:[${SECONDARY_LANGUAGE_FILE_PATH}] exists, setting rules file..."
# Check if we have secondary file name to look for
elif [ -n "$SECONDARY_FILE_NAME" ]; then
debug " -> Codebase does NOT have file:[${LANGUAGE_FILE_PATH}]."
SECONDARY_LANGUAGE_FILE_PATH="${GITHUB_WORKSPACE}/${LINTER_RULES_PATH}/${SECONDARY_FILE_NAME}"
debug "${LANGUAGE_NAME} language rule file has a secondary rules file name to check (${SECONDARY_FILE_NAME}). Path: ${SECONDARY_LANGUAGE_FILE_PATH}"
########################################
# Update the path to the file location #
########################################
eval "${LANGUAGE_LINTER_RULES}=${SECONDARY_LANGUAGE_FILE_PATH}"
fi
if [ -f "${SECONDARY_LANGUAGE_FILE_PATH}" ]; then
info "----------------------------------------------"
info "User provided file:[${SECONDARY_LANGUAGE_FILE_PATH}] exists, setting rules file..."
########################################
# Update the path to the file location #
########################################
eval "${LANGUAGE_LINTER_RULES}=${SECONDARY_LANGUAGE_FILE_PATH}"
fi
else
########################################################
# No user default provided, using the template default #
########################################################
eval "${LANGUAGE_LINTER_RULES}=${DEFAULT_RULES_LOCATION}/${!LANGUAGE_FILE_NAME}"
debug " -> Codebase does NOT have file:[${LANGUAGE_FILE_PATH}], nor file:[${SECONDARY_LANGUAGE_FILE_PATH}], using Default rules at:[${!LANGUAGE_LINTER_RULES}]"
debug " -> Codebase does NOT have file:[${LANGUAGE_FILE_PATH}], nor the file:[${SECONDARY_LANGUAGE_FILE_PATH}], using Default rules at:[${!LANGUAGE_LINTER_RULES}]"
fi
debug " -> Language rules file variable (${LANGUAGE_LINTER_RULES}) value is: ${!LANGUAGE_LINTER_RULES}"