mirror of
https://github.com/super-linter/super-linter.git
synced 2024-11-09 02:23:39 -05:00
Merge pull request #160 from github/staging
Use base branch instead of assuming master
This commit is contained in:
commit
3e90726a37
3 changed files with 14 additions and 11 deletions
|
@ -104,6 +104,7 @@ RUN curl -Ls "$(curl -Ls https://api.github.com/repos/terraform-linters/tflint/r
|
|||
ENV GITHUB_SHA=${GITHUB_SHA} \
|
||||
GITHUB_EVENT_PATH=${GITHUB_EVENT_PATH} \
|
||||
GITHUB_WORKSPACE=${GITHUB_WORKSPACE} \
|
||||
DEFAULT_BRANCH=${DEFAULT_BRANCH} \
|
||||
VALIDATE_ALL_CODEBASE=${VALIDATE_ALL_CODEBASE} \
|
||||
VALIDATE_YAML=${VALIDATE_YAML} \
|
||||
VALIDATE_JSON=${VALIDATE_JSON} \
|
||||
|
|
|
@ -3,7 +3,7 @@ This repository is for the **GitHub Action** to run a **Super-Linter**.
|
|||
It is a simple combination of various linters, written in `bash`, to help validate your source code.
|
||||
|
||||
The end goal of this tool:
|
||||
- Prevent broken code from being uploaded to *master* branches
|
||||
- Prevent broken code from being uploaded to the default branch (Usually `master`)
|
||||
- Help establish coding best practices across multiple languages
|
||||
- Build guidelines for code layout and format
|
||||
- Automate the process to help streamline code reviews
|
||||
|
@ -113,6 +113,7 @@ and won't run anything unexpected.
|
|||
| **ENV VAR** | **Default Value** | **Notes** |
|
||||
| --- | --- | --- |
|
||||
| **VALIDATE_ALL_CODEBASE** | `true` | Will parse the entire repository and find all files to validate across all types. **NOTE:** When set to `false`, only **new** or **edited** files will be parsed for validation. |
|
||||
| **DEFAULT_BRANCH** | `master` | The name of the repository default branch. |
|
||||
| **VALIDATE_YAML** | `true` |Flag to enable or disable the linting process of the language. |
|
||||
| **VALIDATE_JSON** | `true` | Flag to enable or disable the linting process of the language. |
|
||||
| **VALIDATE_XML** | `true` | Flag to enable or disable the linting process of the language. |
|
||||
|
|
|
@ -67,8 +67,9 @@ LANGUAGE_ARRAY=('YML' 'JSON' 'XML' 'MARKDOWN' 'BASH' 'PERL' 'RUBY' 'PYTHON'
|
|||
# GitHub ENV Vars #
|
||||
###################
|
||||
GITHUB_SHA="${GITHUB_SHA}" # GitHub sha from the commit
|
||||
GITHUB_EVENT_PATH="${GITHUB_EVENT_PATH}" # GitHub Event Path
|
||||
GITHUB_WORKSPACE="${GITHUB_WORKSPACE}" # GitHub Workspace
|
||||
GITHUB_EVENT_PATH="${GITHUB_EVENT_PATH}" # Github Event Path
|
||||
GITHUB_WORKSPACE="${GITHUB_WORKSPACE}" # Github Workspace
|
||||
DEFAULT_BRANCH="${DEFAULT_BRANCH:-master}" # Default Git Branch to use (master by default)
|
||||
ANSIBLE_DIRECTORY="${ANSIBLE_DIRECTORY}" # Ansible Directory
|
||||
VALIDATE_ALL_CODEBASE="${VALIDATE_ALL_CODEBASE}" # Boolean to validate all files
|
||||
VALIDATE_YAML="${VALIDATE_YAML}" # Boolean to validate language
|
||||
|
@ -1154,10 +1155,10 @@ BuildFileList()
|
|||
echo "Pulling in code history and branches..."
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
# Switch codebase back to master to get a list of all files changed #
|
||||
#####################################################################
|
||||
SWITCH_CMD=$(cd "$GITHUB_WORKSPACE" || exit; git pull --quiet; git checkout master 2>&1)
|
||||
#################################################################################
|
||||
# Switch codebase back to the default branch to get a list of all files changed #
|
||||
#################################################################################
|
||||
SWITCH_CMD=$(cd "$GITHUB_WORKSPACE" || exit; git pull --quiet; git checkout "$DEFAULT_BRANCH" 2>&1)
|
||||
|
||||
#######################
|
||||
# Load the error code #
|
||||
|
@ -1169,7 +1170,7 @@ BuildFileList()
|
|||
##############################
|
||||
if [ $ERROR_CODE -ne 0 ]; then
|
||||
# Error
|
||||
echo "Failed to switch to master branch to get files changed!"
|
||||
echo "Failed to switch to $DEFAULT_BRANCH branch to get files changed!"
|
||||
echo "ERROR:[$SWITCH_CMD]"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -1180,14 +1181,14 @@ BuildFileList()
|
|||
if [[ "$ACTIONS_RUNNER_DEBUG" == "true" ]]; then
|
||||
echo ""
|
||||
echo "----------------------------------------------"
|
||||
echo "Generating Diff with:[git diff --name-only 'master..$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 comits #
|
||||
################################################
|
||||
# shellcheck disable=SC2207
|
||||
RAW_FILE_ARRAY=($(cd "$GITHUB_WORKSPACE" || exit; git diff --name-only "master..$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 #
|
||||
|
@ -1910,7 +1911,7 @@ RunTestCases()
|
|||
{
|
||||
# This loop will run the test cases and exclude user code
|
||||
# This is called from the automation process to validate new code
|
||||
# When a PR is opened, the new code is validated with the master branch
|
||||
# When a PR is opened, the new code is validated with the default branch
|
||||
# version of linter.sh, and a new container is built with the latest codebase
|
||||
# for testing. That container is spun up, and ran,
|
||||
# with the flag: TEST_CASE_RUN=true
|
||||
|
|
Loading…
Reference in a new issue