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 86e84f3
Show file tree
Hide file tree
Showing 8 changed files with 188 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
- 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
- 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

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
40 changes: 40 additions & 0 deletions .github/workflows/check-general.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: Checks
on:
- pull_request
jobs:
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
# yamllint disable-line rule:line-length
run: commitlint --from ${{ github.event.pull_request.head.sha }}~${{ steps.get-base.outputs.commit-count }} --to ${{ github.event.pull_request.head.sha }}
required:
runs-on: ubuntu-latest
name: Required Checks
steps:
- uses: bugale/bugroup-checks@v1
with:
checks: |-
GitHub Action.*
Check.*
.*[lL]int.*
self: Required Checks
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: ./
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.

0 comments on commit 86e84f3

Please sign in to comment.