* Update documentation * Fix typos * Update security policy * Remove outdated instructions * Fix list * Add more info to config load step * Don't test linter.yml * Point to the cd workflow in README * Move badge up * Add info about Make help --------- Co-authored-by: Zack Koppert <zkoppert@github.com>
3.8 KiB
Run super-linter outside GitHub Actions
If you want to run super-linter outside GitHub Actions, you need a container runtime engine to run the super-linter container image.
Run super-linter Locally
You can run the container locally with the following configuration options to run your code:
docker run \
-e ACTIONS_RUNNER_DEBUG=true \
-e RUN_LOCAL=true \
-v /path/to/local/codebase:/tmp/lint \
--rm \
ghcr.io/super-linter/super-linter:latest
This example uses the latest
container image version. If you're trying to reproduce
an issue, or running super-linter as part of your CI pipeline, we recommend that
you refer to a specific version instead.
Notes:
- 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 ghcr.io/super-linter/super-linter
- You need to pass the
RUN_LOCAL
option to bypass some of the GitHub Actions checks, as well as the mapping of your local codebase to/tmp/lint
. - If you want to override the
/tmp/lint
folder, you can set theDEFAULT_WORKSPACE
environment variable to point to the folder you'd prefer to scan. - You can add as many configuration options as needed. Configuration options are documented in the README.
Azure
Check out this article
GitLab
Check out this snippet and this Guided Exploration: GitLab CI CD Extension for Super-Linter
Run on Codespaces and Visual Studio Code
This repository provides a DevContainer for remote development.
Share Environment variables between environments
To avoid duplication if you run super-linter both locally and in other environements, such as CI, you can define configuration options once, and load them accordingly:
-
Create a configuration file for super-linter
super-linter.env
. For example:VALIDATE_ALL_CODEBASE=true
-
Load the super-linter configuration file when running outside GitHub Actions:
docker run --rm \ -e RUN_LOCAL=true \ --env-file ".github/super-linter.env" \ -v "$(pwd)":/tmp/lint \ ghcr.io/super-linter/super-linter:latest
-
Load the super-linter configuration file when running in GitHub Actions by adding the following step to the GitHub Actions workflow that runs super-linter, after checking out your repository and before running super-linter:
- name: Load super-linter configuration run: cat .github/super-linter.env >> "$GITHUB_ENV"
Build the container image and run the test suite locally
You can run the build and test process locally with the following command:
make
Run the test suite against an arbitrary super-linter container image
You can run the test suite against an arbitrary super-linter container image.
Here is an example that runs the test suite against the v5.4.3
container
image version.
CONTAINER_IMAGE_ID="ghcr.io/super-linter/super-linter:v5.4.3" \
BUILD_DATE="2023-10-17T16:19:11Z" \
BUILD_REVISION=b0d1acee1f8050d1684a28ddbf8315f81d084fe9 \
BUILD_VERSION=b0d1acee1f8050d1684a28ddbf8315f81d084fe9 \
make docker-pull test
Initialize the BUILD_DATE
, BUILD_REVISION
, and BUILD_VERSION
variables
with the values for that specific container image version. You can get these
values from the build log for that version.
Get the list of available build targets
To get the list of the available Make
targets, run the following command:
make help