-
Notifications
You must be signed in to change notification settings - Fork 0
Installation Guide
Inky Quill edited this page Feb 1, 2026
·
4 revisions
This guide covers various installation methods for GitLab CI Linter.
- Go 1.24+ (if building from source)
- Git (if building from source)
- Download the latest binary for your platform from Releases
- Make the binary executable
- Move the binary to your PATH
wget https://github.com/InkyQuill/gitlab-ci-lint/releases/latest/download/gitlab-ci-lint-linux-amd64 -O gitlab-ci-lint
chmod +x gitlab-ci-lint
sudo mv gitlab-ci-lint /usr/local/bin/wget https://github.com/InkyQuill/gitlab-ci-lint/releases/latest/download/gitlab-ci-lint-linux-arm64 -O gitlab-ci-lint
chmod +x gitlab-ci-lint
sudo mv gitlab-ci-lint /usr/local/bin/wget https://github.com/InkyQuill/gitlab-ci-lint/releases/latest/download/gitlab-ci-lint-darwin-amd64 -O gitlab-ci-lint
chmod +x gitlab-ci-lint
sudo mv gitlab-ci-lint /usr/local/bin/wget https://github.com/InkyQuill/gitlab-ci-lint/releases/latest/download/gitlab-ci-lint-darwin-arm64 -O gitlab-ci-lint
chmod +x gitlab-ci-lint
sudo mv gitlab-ci-lint /usr/local/bin/Invoke-WebRequest -Uri "https://github.com/InkyQuill/gitlab-ci-lint/releases/latest/download/gitlab-ci-lint-windows-amd64.exe" -OutFile "gitlab-ci-lint.exe"Then add to PATH:
$binPath = "$env:USERPROFILE\bin"
New-Item -ItemType Directory -Force -Path $binPath
Move-Item -Path gitlab-ci-lint.exe -Destination $binPath\
$currentPath = [Environment]::GetEnvironmentVariable("Path", "User")
if ($currentPath -notlike "*$binPath*") {
[Environment]::SetEnvironmentVariable("Path", "$currentPath;$binPath", "User")
}If you have Go installed:
go install github.com/InkyQuill/gitlab-ci-lint/cmd/gitlab-ci-lint@latestThe binary will be installed to $GOPATH/bin (usually ~/go/bin/).
# Clone the repository
git clone https://github.com/InkyQuill/gitlab-ci-lint.git
cd gitlab-ci-lint
# Build for your current platform
make build
# Or build for all supported platforms
make build-all
# The binaries will be in ./build/
ls -lh build/# Linux AMD64
GOOS=linux GOARCH=amd64 go build -o gitlab-ci-lint-linux-amd64 cmd/gitlab-ci-lint/main.go
# macOS ARM64 (Apple Silicon)
GOOS=darwin GOARCH=arm64 go build -o gitlab-ci-lint-darwin-arm64 cmd/gitlab-ci-lint/main.go
# Windows AMD64
GOOS=windows GOARCH=amd64 go build -o gitlab-ci-lint-windows-amd64.exe cmd/gitlab-ci-lint/main.go# Clone the repository
git clone https://github.com/InkyQuill/gitlab-ci-lint.git
cd gitlab-ci-lint
# Install to GOPATH/bin
make installAfter installation, verify it works:
gitlab-ci-lint versionYou should see version information.
After installation, you can create a configuration file:
# Create config directory
mkdir -p ~/.tool-configs/.gitlab-ci-lint
# Create config file
cat > ~/.tool-configs/.gitlab-ci-lint/config.yaml <<EOF
gitlab:
instance: "https://gitlab.com"
timeout: 30
auth:
token: ""
netrc: false
validation:
skip_api: false
strict: true
output:
format: "text"
verbose: false
color: "auto"
EOFFor API validation, you'll need a GitLab personal access token:
- Go to your GitLab instance
- Navigate to User Settings > Access Tokens
- Create a new token with
apiscope - Set the
GCL_TOKENenvironment variable:
export GCL_TOKEN=glpat-xxxxxxxxxxxxOr add it to your configuration file (see Configuration Guide).
# Generate completion script
gitlab-ci-lint completion bash > /etc/bash_completion.d/gitlab-ci-lint
# Or add to ~/.bash_completion
gitlab-ci-lint completion bash >> ~/.bash_completion
source ~/.bash_completion# Generate completion script
gitlab-ci-lint completion zsh > /usr/local/share/zsh/site-functions/_gitlab-ci-lint
# Or add to ~/.zshrc
gitlab-ci-lint completion zsh >> ~/.zshrcgitlab-ci-lint completion fish > ~/.config/fish/completions/gitlab-ci-lint.fish# If installed to /usr/local/bin
sudo rm /usr/local/bin/gitlab-ci-lint
# If installed via go install
rm $(go env GOPATH)/bin/gitlab-ci-lintrm -rf ~/.tool-configs/.gitlab-ci-lintRemove the completion scripts added during installation.
Ensure the binary is in your PATH:
echo $PATH
which gitlab-ci-lintAdd to PATH if needed:
# Add to ~/.bashrc or ~/.zshrc
export PATH=$PATH:/path/to/gitlab-ci-lintMake the binary executable:
chmod +x gitlab-ci-lintIf building from source fails:
# Ensure you have Go 1.24+
go version
# Update dependencies
cd gitlab-ci-lint
go mod tidy
# Clean and rebuild
make clean
make build- Read the Configuration Guide
- Check out the README.md for usage examples