Skip to content

CI overhaul

CI overhaul #763

Workflow file for this run

name: lint
on:
push:
branches:
- develop
- stable
- 'GSOC**'
pull_request:
branches:
- develop
- stable
- 'GSOC**'
jobs:
codespell:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Set up Python 3
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Lint with codespell
run: |
python -m pip install --upgrade pip
pip install codespell
git ls-files -z | xargs -0 codespell --check-filenames
flake8:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Lint with flake8
run: |
python -m pip install --upgrade pip
pip install flake8 flake8-builtins
git ls-files -z '**.py' | xargs -0 flake8
no-crlf-in-git:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Check for CRLF in the repository
run: |
files_with_crlf="$(git ls-files --eol | awk '$1 ~ "crlf"')"
echo "$files_with_crlf"
[ "$files_with_crlf" == "" ] || exit 1
no-whitespace-issues-in-git:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Check for whitespace issues in the repository
# The two example.txt files need to be excluded because whitespace at EOL is part
# of their format and they fail to parse otherwise.
# The leftover conflict marker warning is ignored for all rst files because
# section headings consisting of 7 "=" characters are mistaken to be part of a
# conflict marker.
run: |
issues="$(
git diff --check $(git hash-object -t tree /dev/null) HEAD :^tests/data/example.txt :^docs/samples/flight-tracks/example.txt |
{ grep -v '^.*\.rst:.*leftover conflict marker$' || true; }
)"
echo "$issues"
[ "$issues" == "" ] || exit 1