superlint/docs/run-linter-locally.md

49 lines
2.6 KiB
Markdown
Raw Normal View History

2020-01-09 10:48:46 -05:00
# Run Super-Linter locally to test your branch of code
2020-07-21 13:08:05 -04:00
2020-01-09 10:48:46 -05:00
If you want to test locally against the **Super-Linter** to test your branch of code, you will need to complete the following:
2020-07-21 13:08:05 -04:00
2020-01-09 10:48:46 -05:00
- Clone your testing source code to your local environment
- Install Docker to your local environment
- Pull the container down
- Run the container
- Debug/Troubleshoot
## Install Docker to your local machine
2020-07-21 13:08:05 -04:00
2020-01-09 10:48:46 -05:00
You can follow the link below on how to install and configure **Docker** on your local machine
2020-07-21 13:08:05 -04:00
2020-01-09 10:48:46 -05:00
- [Docker Install Documentation](https://docs.docker.com/install/)
## Download the latest Super-Linter Docker container
2020-07-21 13:08:05 -04:00
2020-01-09 10:48:46 -05:00
- Pull the latest **Docker** container down from **DockerHub**
- `docker pull github/super-linter:latest`
2020-07-21 13:08:05 -04:00
Once the container has been downloaded to your local environment, you can then begin the process, or running the container against your codebase.
2020-01-09 10:48:46 -05:00
## Run the container Locally
2020-07-21 13:08:05 -04:00
2020-01-09 10:48:46 -05:00
- You can run the container locally with the following **Base** flags to run your code:
- `docker run -e RUN_LOCAL=true -e USE_FIND_ALGORITHM=true -v /path/to/local/codebase:/tmp/lint github/super-linter`
- To run against a single file you can use: `docker run -e RUN_LOCAL=true -e USE_FIND_ALGORITHM=true -v /path/to/local/codebase/file:/tmp/lint/file github/super-linter`
2020-01-09 11:33:07 -05:00
- **NOTE:** You need to pass the `RUN_LOCAL` flag to bypass some of the GitHub Actions checks, as well as the mapping of your local codebase to `/tmp/lint` so that the linter can pick up the code
2020-06-19 05:52:14 -04:00
- **NOTE:** If you want to override the `/tmp/lint` folder, you can set the `DEFAULT_WORKSPACE` environment variable to point to the folder you'd prefer to scan.
2020-01-09 11:33:07 -05:00
- **NOTE:** The flag:`RUN_LOCAL` will set: `VALIDATE_ALL_CODEBASE` to true. This means it will scan **all** the files in the directory you have mapped. If you want to only validate a subset of your codebase, map a folder with only the files you wish to have linted
- **NOTE:** Add the `--rm` docker flag to automatically remove the container after execution.
2020-05-14 10:24:23 -04:00
### Flags for running Locally
2020-07-21 13:08:05 -04:00
You can add as many **Additional** flags as needed, documented in [README.md](../README.md#Environment-variables)
2020-01-09 10:48:46 -05:00
## Troubleshooting
### Run container and gain access to the command-line
2020-07-21 13:08:05 -04:00
2020-01-09 10:48:46 -05:00
If you need to run the container locally and gain access to its command line, you can run the following command:
2020-07-21 13:08:05 -04:00
- `docker run -it --entrypoint /bin/bash github/super-linter`
- This will drop you in the command-line of the docker container for any testing or troubleshooting that may be needed.
2020-01-09 10:48:46 -05:00
### Found issues
2020-07-21 13:08:05 -04:00
2020-07-21 14:25:46 -04:00
If you find a _bug_ or _issue_, please open a **GitHub** issue at: [github/super-linter/issues](https://github.com/github/super-linter/issues)