Coder Social home page Coder Social logo

action-clang-format's Introduction

action-clang-format - A GitHub action to check a directory using clang-format

License: MIT

Runs clang-format recursively on files in a directory and reports errors using a diff. Can use a .clang-format file for style (when using style: 'file').

If you find a bug or make an improvement your pull requests are appreciated.

License

All of this is under the MIT License.

Usage

Create a new workflow file, e.g. ./github/workflows/clang-format.yml:

# Run clang-format
name: Clang-format

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  checkout-and-check-formatting:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Run clang-format
      uses: HorstBaerbel/[email protected]
      # These are optional (defaults displayed)
      with:
        scandir: '.'
        excludedirs: 'build'
        extensions: 'c,h,C,H,cpp,hpp,cc,hh,c++,h++,cxx,hxx'
        style: 'file'

Parameters (optional), see action.yml

  • scandir: Directory to scan, e.g. 'src'. MUST be realtive to you repository, thus '.' means root of repository. MUST contain a valid CMakeLists.txt.
  • excludedirs: Directories below scandir to exclude from scanning, e.g. "build,test,src/third_party". MUST be relative to scandir, thus 'test' means 'scandir/test'.
  • extensions: Extensions to include in scan, e.g. 'h,c,hpp,cpp'.
  • style: Style string to pass to clang-format. Use 'file' to make clang-format use a .clang-format file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.