Style Checks #14775
This file contains 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
# Code lint and style checks | |
# | |
# This workflow runs code style and lint checks to check if the codes have | |
# consistent code style and are high-quality. | |
# | |
# It is run on every commit to the main and pull request branches. It is also | |
# scheduled to run daily on the main branch. | |
# | |
name: Style Checks | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
# Schedule daily tests | |
schedule: | |
- cron: '0 0 * * *' | |
jobs: | |
style_check: | |
name: Style Checks | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout current git repository | |
- name: Checkout | |
uses: actions/[email protected] | |
# Setup Python | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version: '3.12' | |
- name: Install packages | |
run: | | |
python -m pip install ruff pre-commit | |
python -m pip list | |
- name: Formatting check (ruff + pre-commit) | |
run: | | |
make check | |
pre-commit run --all-files | |
- name: Ensure example scripts have at least one code block separator | |
run: | | |
git ls-files 'examples/**/*.py' | xargs grep --files-without-match '# %%' > output.txt | |
nfiles=$(wc --lines output.txt | awk '{print $1}') | |
if [[ $nfiles > 0 ]]; then | |
echo "Code block separator '# %%' is required in following example files:" | |
cat output.txt | |
rm output.txt | |
exit $nfiles | |
fi |