40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
"""Nox configuration file."""
|
|
from shutil import copytree
|
|
|
|
from nox import Session, session
|
|
|
|
|
|
@session()
|
|
def lint(session: Session) -> None:
|
|
session.install("ruff")
|
|
session.run("ruff", "check", "--fix")
|
|
session.run("ruff", "format")
|
|
|
|
|
|
@session()
|
|
def mypy(session: Session) -> None:
|
|
session.install("-e", ".[dev]", "mypy", "types-PyYAML", "types-Markdown")
|
|
session.run("mypy")
|
|
|
|
|
|
@session
|
|
def build(session: Session) -> None:
|
|
"""Run unit tests."""
|
|
session.install("nodeenv", "git+https://git.collectivit.org/collectivit/jean-website")
|
|
session.run_install("nodeenv", "-p")
|
|
session.run_install("npm", "install", "-g", "sass")
|
|
|
|
session.log("Building website...")
|
|
session.run("jwebsite", "build")
|
|
|
|
session.log("Building css...")
|
|
session.run("npx", "sass", "src/style.scss", "build/style.css", "--style=compressed")
|
|
|
|
session.log("Copying static files to build directory...")
|
|
copytree("assets", "build", dirs_exist_ok=True)
|
|
|
|
|
|
@session()
|
|
def devenv(session: Session) -> None:
|
|
session.install("-e", ".[dev]")
|