name: Autofix on: push: # Only targets master default branch to avoid amplification effects of # auto-fixing the exact same stuff in multiple non-rebased branches. branches: - 'master' schedule: # Run linter every week to catch regressions from external dependencies. - cron: 17 9 * * 1 jobs: toc: name: Generator TOC and auto-commit runs-on: ubuntu-latest steps: - name: Install doctoc run: | sudo npm install -g doctoc - uses: actions/checkout@v2.3.1 - name: Generate full TOC run: | # Generates title as part of the TOC to avoid extra non-conform blank # lines. See: # https://github.com/thlorenz/doctoc/issues/101 # https://github.com/thlorenz/doctoc/pull/145 doctoc --github --title "## Contents" readme.md - name: Remove blacklisted TOC entries # See: https://github.com/sindresorhus/awesome-lint/blob/v0.13.0/rules/toc.js#L15-L20 run: | gawk -i inplace '!/^- \[(Contribute|Contributing|Licence|License)\]\(#.+\)$/{print}' ./readme.md - name: Commit and push changes uses: stefanzweifel/git-auto-commit-action@v4.4.0 with: commit_author: "Kevin Deldycke " commit_message: "[lint] Update TOC." file_pattern: readme.md