Skip to content

Commit 5c5d26e

Browse files
committed
updates and proof of origin, additional workflow implementaion
1 parent fc6c41a commit 5c5d26e

21 files changed

+1180
-178
lines changed

.github/dependabot.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "uv"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
- package-ecosystem: "github-actions"
8+
directory: "/"
9+
schedule:
10+
interval: "weekly"
11+
- package-ecosystem: "github-pre-commit"
12+
directory: "/"
13+
schedule:
14+
interval: "weekly"

.github/workflows/docs-pages.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Deploy docs to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
7+
jobs:
8+
build-and-deploy:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v4
13+
14+
- name: Install uv
15+
uses: astral-sh/setup-uv@v4
16+
with:
17+
enable-cache: true
18+
19+
- name: Set up Python
20+
run: uv python install 3.12
21+
22+
- name: Sync dependencies with uv
23+
run: uv sync --all-extras
24+
25+
- name: Build docs
26+
run: uv run sphinx-build -b html docs docs/_build/html
27+
28+
- name: Deploy to GitHub Pages
29+
uses: peaceiris/actions-gh-pages@v3
30+
with:
31+
github_token: ${{ secrets.GITHUB_TOKEN }}
32+
publish_dir: ./docs/_build/html
33+
keep_files: false

.pre-commit-config.yaml

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,29 @@
11
# Pre-commit hooks for code quality
22
repos:
33
- repo: https://github.com/pre-commit/pre-commit-hooks
4-
rev: v4.5.0
4+
rev: v6.0.0
55
hooks:
66
- id: trailing-whitespace
77
- id: end-of-file-fixer
88
- id: check-yaml
99
- id: check-added-large-files
10-
- id: check-merge-conflict
1110
- id: check-toml
11+
- id: check-merge-conflict
12+
- id: debug-statements
1213

1314
- repo: https://github.com/astral-sh/ruff-pre-commit
14-
rev: v0.1.6
15+
rev: v0.14.3
1516
hooks:
1617
- id: ruff
17-
args: [--fix]
18+
args: [--fix, --exit-non-zero-on-fix]
1819
- id: ruff-format
1920

20-
- repo: https://github.com/psf/black
21-
rev: 23.11.0
22-
hooks:
23-
- id: black
24-
2521
- repo: https://github.com/pre-commit/mirrors-mypy
26-
rev: v1.7.0
22+
rev: v1.18.2
2723
hooks:
2824
- id: mypy
2925
additional_dependencies:
3026
- pydantic>=2.5.0
31-
- aiohttp>=3.9.0
32-
- click>=8.1.0
33-
- beautifulsoup4>=4.12.0
27+
- types-click
3428
args: [--ignore-missing-imports]
35-
exclude: ^tests/
29+
files: ^src/

CONTRIBUTING.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Contributing
2+
3+
Thank you for helping improve SecSuite! This short guide gets you up and running quickly.
4+
5+
Developer quick-start
6+
---------------------
7+
8+
1. Install `uv` (if you don't have it). Follow platform-specific instructions at https://docs.astral.sh/uv/.
9+
10+
2. Sync the development environment and install dev dependencies:
11+
12+
```bash
13+
make install
14+
```
15+
16+
3. Common tasks
17+
18+
- Run tests: `make test` or `./scripts/dev pytest`
19+
- Run lint: `make lint` or `./scripts/dev ruff check .`
20+
- Type check: `make type` or `./scripts/dev mypy src`
21+
- Build docs: `make docs` or `./scripts/dev sphinx-build -b html docs docs/_build`
22+
23+
Pre-commit
24+
----------
25+
26+
Install pre-commit hooks locally:
27+
28+
```bash
29+
make precommit
30+
```
31+
32+
Branching and PRs
33+
------------------
34+
35+
- Create a branch for your feature/fix: `git checkout -b feature/thing`
36+
- Run tests and linters locally before opening a PR.
37+
- Open a PR against `main` and include a short description of the change and why.
38+
39+
Thank you! Keep changes small and focused and include tests for new behavior.

Makefile

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
SHELL := /bin/bash
2+
.PHONY: help install sync test lint type format docs precommit clean
3+
4+
help:
5+
@echo "Available targets:"
6+
@echo " make install # install uv (if missing) and sync dependencies"
7+
@echo " make sync # uv sync --all-extras"
8+
@echo " make test # run tests with coverage"
9+
@echo " make lint # run ruff"
10+
@echo " make type # run mypy"
11+
@echo " make format # format with ruff"
12+
@echo " make docs # build Sphinx docs"
13+
@echo " make precommit # install pre-commit hooks"
14+
@echo " make clean # remove build artifacts"
15+
16+
install:
17+
@command -v uv >/dev/null 2>&1 || \
18+
{ echo "uv not found. Please install uv in your Python environment. Example:"; \
19+
echo " python -m pip install --upgrade pip && python -m pip install uv"; exit 1; }
20+
uv sync --all-extras
21+
22+
sync:
23+
uv sync --all-extras
24+
25+
test:
26+
uv run pytest --cov
27+
28+
lint:
29+
uv run ruff check .
30+
31+
type:
32+
uv run mypy src
33+
34+
format:
35+
uv run ruff format .
36+
37+
docs:
38+
uv run sphinx-build -b html docs docs/_build
39+
40+
precommit:
41+
uv run pre-commit install
42+
43+
clean:
44+
rm -rf .venv build dist htmlcov coverage.xml coverage.json docs/_build

0 commit comments

Comments
 (0)