Skip to content

NickTX/super-linter-workflow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 

Repository files navigation

Super Linter Reusable Workflow Examples

Lint all the codes

The GitHub Super-Linter project is a fantastic way to lint all your file types with a single GitHub Actions Workflow. A great way to implement it everywhere is to use GHA's Reusable Workflows (see below).

My video walkthrough of this repository

This repo is part of a group of my sample repos on GitHub Actions:

Features of this custom Super-Linter example

  • All the features of Super-Linter in a Reusable Workflow.
  • Bonus: Optionally turn off non-DevOps linters (CSS, JS, HTML, etc.) when you want to ignore code (in my case it's to ignore sample code I stick in DevOps projects).
  • Bonus: I added Job steps to correctly determine which branch to diff files with (in the case of having multiple release branches).
  • Bonus: Lints only changed files on a PR, but lints all files on merge to main (or any release) branch.

How to reuse this example as a Reusable Workflow

  1. Fork this repository for you to customize your linters in a single location for your org/projects.
  2. Add a new workflow to all your other repositories and paste in this YAML to call the central-repos reusable workflow.
---
name: Lint Code Base

on:
  
  push:
    branches: [main]
  
  pull_request:

jobs:
  call-super-linter:

    name: Call Super-Linter

    # use Reusable Workflows to call my linter config remotely
    # https://docs.github.com/en/actions/learn-github-actions/reusing-workflows
    
    permissions:
      contents: read # clone the repo to lint
      statuses: write #read/write to repo custom statuses

    #FIXME: customize uri to point to your forked linter repository
    uses: bretfisher/super-linter-workflow/.github/workflows/super-linter.yaml@main
    
    # Optional settings examples
    
    # with:
    
      # devops-only: false
      
      # filter-regex-exclude: html/.*

How to run Super-Linter locally

Option 1: Use nektos/act to run an existing GitHub Action workflow on your local repository clone.

Option 2: Use Docker to run the Super-Linter image directly.

About

A Reusable Workflow of the Super-Linter GitHub Action

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published