summaryrefslogtreecommitdiffstats
path: root/.github/workflows/lint.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/lint.yml')
-rw-r--r--.github/workflows/lint.yml48
1 files changed, 48 insertions, 0 deletions
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 0000000..4527551
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,48 @@
+name: Lint
+
+on:
+ push:
+ # This should disable running the workflow on tags, according to the
+ # on.<push|pull_request>.<branches|tags> GitHub Actions docs.
+ branches:
+ - "*"
+ pull_request:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref_name }}
+ cancel-in-progress: true
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "3.10"
+
+ - name: install packages to tests
+ run: pip install ./psycopg[dev,test] codespell
+
+ - name: Run black
+ run: black --check --diff .
+
+ - name: Run flake8
+ run: flake8
+
+ - name: Run mypy
+ run: mypy
+
+ - name: Check spelling
+ run: codespell
+
+ - name: Install requirements to generate docs
+ run: sudo apt-get install -y libgeos-dev
+
+ - name: Install Python packages to generate docs
+ run: pip install ./psycopg[docs] ./psycopg_pool
+
+ - name: Check documentation
+ run: sphinx-build -W -T -b html docs docs/_build/html