Skip to content

Commit

Permalink
ci: upgrade linter system to use Bugalint
Browse files Browse the repository at this point in the history
  • Loading branch information
bugale committed Jan 27, 2024
1 parent 1961eb2 commit a890ac2
Show file tree
Hide file tree
Showing 9 changed files with 200 additions and 60 deletions.
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
version: 2
updates:
- package-ecosystem: github-actions
directory: /
labels:
- dependabot
- actions
schedule:
interval: daily
groups:
action-dependencies:
patterns:
- '*'
commit-message:
prefix: 'build'
54 changes: 54 additions & 0 deletions .github/workflows/check-code.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
name: Checks
on:
pull_request:
paths:
- '**.py*'
- '.github/workflows/check-code.yml'
jobs:
lint:
strategy:
fail-fast: false
matrix:
linter: [
{'name': 'flake8', 'format': 'flake8', 'cwd': '.', 'cmd': 'flake8 .'},
{'name': 'mypy', 'format': 'mypy', 'cwd': '.', 'cmd': 'mypy .'},
{'name': 'pylint', 'format': 'pylint', 'cwd': '.', 'cmd': 'pylint --load-plugins pylint_pytest $(Get-ChildItem -Filter *.py -Recurse .)'},
]
name: ${{ matrix.linter.name }}
runs-on: windows-latest
steps:
- uses: actions/checkout@v3

Check failure

Code scanning / yamllint

wrong indentation: expected 6 but found 4 Error

wrong indentation: expected 6 but found 4
- uses: actions/setup-python@v4
with:
python-version: '3.12'
- name: Install Python dependencies
run: py -m pip install -r dev-requirements.txt
- name: Lint
run: cd ${{ matrix.linter.cwd }}; ${{ matrix.linter.cmd }} > lint.log
- name: Convert
uses: bugale/bugalint@v2
if: always()
with:
inputFile: 'lint.log'
toolName: ${{ matrix.linter.name }}
inputFormat: ${{ matrix.linter.format }}
- name: Upload results
uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: sarif.json
test:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3

Check failure

Code scanning / yamllint

wrong indentation: expected 6 but found 4 Error

wrong indentation: expected 6 but found 4
- uses: actions/setup-python@v4
with:
python-version: '3.12'
- uses: FedericoCarboni/setup-ffmpeg@v2
id: setup-ffmpeg
- name: Install test dependencies
run: py -m pip install -r dev-requirements.txt
- name: Test
run: pytest tests

Check failure

Code scanning / yamllint

no new line character at the end of file Error

no new line character at the end of file

Check failure

Code scanning / yamllint

trailing spaces Error

trailing spaces
33 changes: 33 additions & 0 deletions .github/workflows/check-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Checks
on:
pull_request:
paths:
- '**.md'
- '**mdl*'
- '.github/workflows/check-docs.yml'
jobs:
markdownlint:
name: markdownlint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Lint
uses: avto-dev/markdown-lint@v1
with:
args: '**/*.md'
output: 'lint.txt'
config: '.mdl.yml'
- name: Convert
uses: ./
if: always()
with:
inputFile: 'lint.txt'
toolName: 'mdl'
inputFormat: 'mdl'
- name: Upload results
uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: sarif.json
42 changes: 42 additions & 0 deletions .github/workflows/check-general.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: Checks

Check failure

Code scanning / yamllint

wrong indentation: expected 0 but found 2 Error

wrong indentation: expected 0 but found 2
on:
- pull_request
jobs:
required:
name: Required Checks
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: ./
with:
checks: |-
Check .*
.*[lL]int.*
self: Required Checks
check-commits:
name: Check Commits
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
run: npm install -g @commitlint/cli @commitlint/config-conventional conventional-changelog-conventionalcommits
- name: Get Base
id: get-base
run: |-
count=$(gh api "/repos/${{ github.repository }}/pulls/${{ github.event.number }}/commits" --jq "length")
req=$(($count + 1))
echo "count: $count, req: $req"
echo "commit-count=$count" >> $GITHUB_OUTPUT
echo "required=$req" >> $GITHUB_OUTPUT
env:
GH_TOKEN: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: ${{ steps.get-base.outputs.required }}
ref: ${{ github.event.pull_request.head.sha }}
- name: Check Commits
run: |-
commitlint --from ${{ github.event.pull_request.head.sha }}~${{ steps.get-base.outputs.commit-count }} --to ${{ github.event.pull_request.head.sha }}

Check failure

Code scanning / yamllint

line too long (161 > 160 characters) Error

line too long (161 > 160 characters)

Check failure

Code scanning / yamllint

no new line character at the end of file Error

no new line character at the end of file

Check failure

Code scanning / yamllint

trailing spaces Error

trailing spaces
27 changes: 27 additions & 0 deletions .github/workflows/check-yml.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Checks
on:
pull_request:
paths:
- '**.yml'
jobs:
yamllint:
name: yamllint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: yamllint
run: yamllint --strict -f parsable . > lint.txt
- name: Convert
uses: bugale/bugalint@v2
if: always()
with:
inputFile: 'lint.txt'
toolName: 'yamllint'
inputFormat: 'yamllint'
- name: Upload results
uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: sarif.json
18 changes: 18 additions & 0 deletions .github/workflows/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Dependabot
on:
- pull_request
permissions: write-all
jobs:
auto-merge:
name: Auto-merge
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --rebase "${{github.event.pull_request.html_url}}"
env:
GH_TOKEN: ${{ github.token }}
37 changes: 0 additions & 37 deletions .github/workflows/lint.yml

This file was deleted.

23 changes: 0 additions & 23 deletions .github/workflows/test.yml

This file was deleted.

10 changes: 10 additions & 0 deletions .yamllint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
extends: default
ignore:
- 'node_modules/**'
rules:
new-lines: disable
truthy:
check-keys: false
line-length:
max: 160

0 comments on commit a890ac2

Please sign in to comment.