ci: Add GitHub workflow to run code linting checks daily, on push, and on pull request. #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "code-linting-checks" | |
| on: | |
| pull_request: | |
| push: | |
| schedule: | |
| # Run daily at 00:15 UTC (the 15 is to avoid periods of high load) | |
| - cron: "15 0 * * *" | |
| workflow_dispatch: | |
| permissions: {} | |
| concurrency: | |
| group: "${{github.workflow}}-${{github.ref}}" | |
| # Cancel in-progress jobs for efficiency | |
| cancel-in-progress: true | |
| jobs: | |
| lint-check: | |
| strategy: | |
| matrix: | |
| os: ["macos-latest", "ubuntu-latest"] | |
| runs-on: "${{matrix.os}}" | |
| steps: | |
| - uses: "actions/checkout@v4" | |
| with: | |
| submodules: "recursive" | |
| - uses: "actions/setup-python@v5" | |
| with: | |
| # NOTE: We resolve some of clang-tidy's IWYU violations using CPython 3.10's headers, so | |
| # we need to use the same version of Python when running clang-tidy. | |
| python-version: "3.10" | |
| - name: "Install task" | |
| shell: "bash" | |
| run: "npm install -g @go-task/cli" | |
| - name: "Log tool versions" | |
| run: |- | |
| md5sum --version | |
| python --version | |
| tar --version | |
| task --version | |
| - if: "matrix.os == 'macos-latest'" | |
| name: "Install coreutils (for md5sum)" | |
| run: "brew install coreutils" | |
| - name: "Run lint task" | |
| shell: "bash" | |
| run: "task lint:check" |