11import os
2+ from functools import wraps
3+ from typing import TypeVar
24
35import nox
46from nox .sessions import Session
810BLACK_DEFAULT_EXCLUDE = r"\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist"
911
1012
13+ _Func = TypeVar ("_Func" )
14+
15+
16+ def upgrade_pip (func : _Func ) -> _Func :
17+ @wraps (func )
18+ def decorator (session : Session ) -> None :
19+ session .install ("--upgrade" , "pip" )
20+ func (session )
21+
22+ return decorator
23+
24+
1125@nox .session
26+ @upgrade_pip
1227def test_python (session : Session ) -> None :
1328 session .env .update (os .environ )
1429 session .install ("-r" , "requirements/test-env.txt" )
@@ -20,6 +35,7 @@ def test_python(session: Session) -> None:
2035
2136
2237@nox .session
38+ @upgrade_pip
2339def check_types (session : Session ) -> None :
2440 session .install ("-r" , "requirements/check-types.txt" )
2541 session .install ("-r" , "requirements/pkg-deps.txt" )
@@ -28,6 +44,7 @@ def check_types(session: Session) -> None:
2844
2945
3046@nox .session
47+ @upgrade_pip
3148def check_style (session : Session ) -> None :
3249 session .install ("-r" , "requirements/check-style.txt" )
3350 session .run (
@@ -41,7 +58,9 @@ def check_style(session: Session) -> None:
4158
4259
4360@nox .session
61+ @upgrade_pip
4462def build_docs (session : Session ) -> None :
63+ upgrade_pip (session )
4564 session .install ("-r" , "requirements/build-docs.txt" )
4665 session .install ("-e" , ".[all]" )
4766 session .run ("sphinx-build" , "-b" , "html" , "docs/source" , "docs/build" )
0 commit comments