Skip to content

CI overhaul

CI overhaul #777

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
- uses: prefix-dev/[email protected]
with:
pixi-version: latest
cache: true
environments: dev
- name: Lint with codespell
run: git ls-files -z | xargs -0 pixi run -e dev codespell --check-filenames
flake8:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: prefix-dev/[email protected]
with:
pixi-version: latest
cache: true
environments: dev
- name: Lint with flake8
run: git ls-files -z '**.py' | xargs -0 pixi run -e dev 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