Commit d8c7ee00 by Henry Schreiner Committed by GitHub

ci: GHA basic format & pre-commit (#2309)

parent e2488698
name: Format
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
- stable
- "v*"
jobs:
pre-commit:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: pre-commit/action@v2.0.0
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.1.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-merge-conflict
- id: check-symlinks
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: mixed-line-ending
- id: requirements-txt-fixer
- id: trailing-whitespace
- id: fix-encoding-pragma
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.1.7
hooks:
- id: remove-tabs
exclude: (Makefile|debian/rules|.gitmodules)(\.in)?$
- repo: https://gitlab.com/pycqa/flake8
rev: 3.8.2
hooks:
- id: flake8
additional_dependencies: [flake8-bugbear]
exclude: ^(docs/.*|tools/.*)$
......@@ -27,11 +27,16 @@ adhere to the following rules to make the process as smooth as possible:
do add value by themselves.
* Add tests for any new functionality and run the test suite (``make pytest``)
to ensure that no existing features break.
* Please run ``flake8`` and ``tools/check-style.sh`` to check your code matches
the project style. (Note that ``check-style.sh`` requires ``gawk``.)
* Please run [``pre-commit``][pre-commit] and ``tools/check-style.sh`` to check
your code matches the project style. (Note that ``check-style.sh`` requires
``gawk``.) Use `pre-commit run --all-files` before committing (or use
installed-mode, check pre-commit docs) to verify your code passes before
pushing to save time.
* This project has a strong focus on providing general solutions using a
minimal amount of code, thus small pull requests are greatly preferred.
[pre-commit]: https://pre-commit.com
### Licensing of contributions
pybind11 is provided under a BSD-style license that can be found in the
......
......@@ -39,4 +39,3 @@ the last case of the above list.
chrono
eigen
custom
# -*- coding: utf-8 -*-
import random
import os
import time
......
......@@ -93,5 +93,3 @@ favor.
.. only:: latex
.. image:: pybind11_vs_boost_python2.png
......@@ -17,4 +17,3 @@ These features could be implemented but would lead to a significant increase in
complexity. I've decided to draw the line here to keep this project simple and
compact. Users who absolutely require these features are encouraged to fork
pybind11.
# -*- coding: utf-8 -*-
from ._version import version_info, __version__ # noqa: F401 imported but unused
......
# -*- coding: utf-8 -*-
from __future__ import print_function
import argparse
......
# -*- coding: utf-8 -*-
version_info = (2, 5, 'dev1')
__version__ = '.'.join(map(str, version_info))
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Setup script for PyPI; use CMakeFile.txt to build extension modules
......
# -*- coding: utf-8 -*-
"""pytest configuration
Extends output capture as needed by pybind11: ignore constructors, optional unordered lines.
......
......@@ -273,4 +273,3 @@ template <class T, typename... Values> void print_values(T *inst, Values &&...va
print_constr_details(inst, ":", values...);
track_values(inst, values...);
}
# -*- coding: utf-8 -*-
import asyncio
import pytest
from pybind11_tests import async_module as m
......
# -*- coding: utf-8 -*-
import io
import struct
import sys
......
# Python < 3 needs this: coding=utf-8
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import builtin_casters as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import call_policies as m
from pybind11_tests import ConstructorStats
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import callbacks as m
from threading import Thread
......
# -*- coding: utf-8 -*-
from pybind11_tests import chrono as m
import datetime
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import class_ as m
......
# -*- coding: utf-8 -*-
import sys
import test_cmake_build
......
# -*- coding: utf-8 -*-
from pybind11_tests import constants_and_functions as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import copy_move_policies as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import custom_type_casters as m
......
# -*- coding: utf-8 -*-
from pybind11_tests import docstring_options as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import ConstructorStats
......@@ -143,7 +144,7 @@ def test_nonunit_stride_from_python():
counting_3d = np.arange(27.0, dtype=np.float32).reshape((3, 3, 3))
slices = [counting_3d[0, :, :], counting_3d[:, 0, :], counting_3d[:, :, 0]]
for slice_idx, ref_mat in enumerate(slices):
for ref_mat in slices:
np.testing.assert_array_equal(m.double_mat_cm(ref_mat), 2.0 * ref_mat)
np.testing.assert_array_equal(m.double_mat_rm(ref_mat), 2.0 * ref_mat)
......@@ -172,7 +173,7 @@ def test_negative_stride_from_python(msg):
counting_3d = np.arange(27.0, dtype=np.float32).reshape((3, 3, 3))
counting_3d = counting_3d[::-1, ::-1, ::-1]
slices = [counting_3d[0, :, :], counting_3d[:, 0, :], counting_3d[:, :, 0]]
for slice_idx, ref_mat in enumerate(slices):
for ref_mat in slices:
np.testing.assert_array_equal(m.double_mat_cm(ref_mat), 2.0 * ref_mat)
np.testing.assert_array_equal(m.double_mat_rm(ref_mat), 2.0 * ref_mat)
......
# -*- coding: utf-8 -*-
from widget_module import Widget
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import enums as m
......
# -*- coding: utf-8 -*-
import os
import pytest
from pybind11_tests import eval_ as m
......
# -*- coding: utf-8 -*-
# This file is called from 'test_eval.py'
if 'call_test2' in locals():
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import exceptions as m
......
# -*- coding: utf-8 -*-
import pytest
import re
......
# -*- coding: utf-8 -*-
import multiprocessing
import threading
from pybind11_tests import gil_scoped as m
......
# -*- coding: utf-8 -*-
from pybind11_tests import iostream as m
import sys
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import kwargs_and_defaults as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import local_bindings as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import methods_and_attributes as m
from pybind11_tests import ConstructorStats
......
# -*- coding: utf-8 -*-
from pybind11_tests import modules as m
from pybind11_tests.modules import subsubmodule as ms
from pybind11_tests import ConstructorStats
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import ConstructorStats
from pybind11_tests import multiple_inheritance as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import numpy_array as m
......
# -*- coding: utf-8 -*-
import re
import pytest
from pybind11_tests import numpy_dtypes as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import numpy_vectorize as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import opaque_types as m
from pybind11_tests import ConstructorStats, UserType
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import operators as m
from pybind11_tests import ConstructorStats
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import pickling as m
......
# -*- coding: utf-8 -*-
from __future__ import division
import pytest
import sys
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import sequences_and_iterators as m
from pybind11_tests import ConstructorStats
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import smart_ptr as m
from pybind11_tests import ConstructorStats
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import stl as m
......
# -*- coding: utf-8 -*-
import pytest
import sys
from pybind11_tests import stl_binders as m
......@@ -222,7 +223,8 @@ def test_noncopyable_containers():
for j in range(0, 5):
assert nvnc[i][j].value == j + 1
for k, v in nvnc.items():
# Note: maps do not have .values()
for _, v in nvnc.items():
for i, j in enumerate(v, start=1):
assert j.value == i
......@@ -233,7 +235,7 @@ def test_noncopyable_containers():
assert nmnc[i][j].value == 10 * j
vsum = 0
for k_o, v_o in nmnc.items():
for _, v_o in nmnc.items():
for k_i, v_i in v_o.items():
assert v_i.value == 10 * k_i
vsum += v_i.value
......@@ -247,7 +249,7 @@ def test_noncopyable_containers():
assert numnc[i][j].value == 10 * j
vsum = 0
for k_o, v_o in numnc.items():
for _, v_o in numnc.items():
for k_i, v_i in v_o.items():
assert v_i.value == 10 * k_i
vsum += v_i.value
......
# -*- coding: utf-8 -*-
from pybind11_tests import tagbased_polymorphic as m
......
# -*- coding: utf-8 -*-
from pybind11_tests import union_ as m
......
# -*- coding: utf-8 -*-
import pytest
from pybind11_tests import virtual_functions as m
......
......@@ -78,4 +78,3 @@ else (EIGEN3_INCLUDE_DIR)
mark_as_advanced(EIGEN3_INCLUDE_DIR)
endif(EIGEN3_INCLUDE_DIR)
# -*- coding: utf-8 -*-
from __future__ import print_function, division
import os
import sys
......@@ -35,4 +36,3 @@ else:
with open(save, 'w') as sf:
sf.write(str(libsize))
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Syntax: mkdoc.py [-I<path> ..] [.. a list of header files ..]
#
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment