|
1 | | -name: Green Gate |
2 | | - |
3 | | -on: |
4 | | - push: |
5 | | - pull_request: |
6 | | - workflow_dispatch: |
7 | | - |
8 | | -permissions: |
9 | | - contents: read |
10 | | - |
11 | | -concurrency: |
12 | | - group: green-gate-${{ github.workflow }}-${{ github.ref }} |
13 | | - cancel-in-progress: true |
14 | | - |
15 | | -jobs: |
16 | | - green-gate: |
17 | | - name: Python ${{ matrix.python-version }} |
18 | | - runs-on: ubuntu-latest |
19 | | - timeout-minutes: 15 |
20 | | - strategy: |
21 | | - fail-fast: false |
22 | | - matrix: |
23 | | - python-version: |
24 | | - - "3.10" |
25 | | - - "3.11" |
26 | | - - "3.12" |
27 | | - - "3.13" |
28 | | - - "3.14" |
29 | | - |
30 | | - steps: |
31 | | - - name: Check out repository |
32 | | - uses: actions/checkout@v7.0.1 |
33 | | - with: |
34 | | - persist-credentials: false |
35 | | - |
36 | | - - name: Set up Python ${{ matrix.python-version }} |
37 | | - uses: actions/setup-python@v6.2.0 |
38 | | - with: |
39 | | - python-version: ${{ matrix.python-version }} |
40 | | - |
41 | | - - name: Install project and development dependencies |
42 | | - run: python -m pip install --disable-pip-version-check -e ".[dev]" |
43 | | - |
44 | | - - name: Run complete green gate |
45 | | - run: python check_green.py |
| 1 | +[build-system] |
| 2 | +requires = ["setuptools>=68", "wheel"] |
| 3 | +build-backend = "setuptools.build_meta" |
| 4 | + |
| 5 | +[project] |
| 6 | +name = "CypherSyntax" |
| 7 | +version = "0.1.0" |
| 8 | +description = "Defensive hybrid-ready secure messaging core built from an audit of BlackVault and IX-GhostProtocol" |
| 9 | +requires-python = ">=3.10" |
| 10 | +license = {text = "AGPL-3.0-only"} |
| 11 | +authors = [{name = "Bryce Lovell"}] |
| 12 | +dependencies = [ |
| 13 | + "cryptography>=46.0.0", |
| 14 | +] |
| 15 | + |
| 16 | +[project.optional-dependencies] |
| 17 | +dev = [ |
| 18 | + "coverage[toml]>=7.6,<8", |
| 19 | + "pytest>=8.0,<10", |
| 20 | + "pytest-cov>=6.0,<8", |
| 21 | +] |
| 22 | + |
| 23 | +[tool.setuptools] |
| 24 | +package-dir = {"" = "src"} |
| 25 | + |
| 26 | +[tool.setuptools.packages.find] |
| 27 | +where = ["src"] |
| 28 | + |
| 29 | +[tool.pytest.ini_options] |
| 30 | +pythonpath = ["src"] |
| 31 | +testpaths = ["tests"] |
| 32 | +addopts = [ |
| 33 | + "-q", |
| 34 | + "--strict-config", |
| 35 | + "--strict-markers", |
| 36 | + "--cov=cyphersyntax", |
| 37 | + "--cov-branch", |
| 38 | + "--cov-report=term-missing", |
| 39 | + "--cov-fail-under=80", |
| 40 | +] |
| 41 | +xfail_strict = true |
| 42 | + |
| 43 | +[tool.coverage.run] |
| 44 | +branch = true |
| 45 | +source = ["cyphersyntax"] |
| 46 | + |
| 47 | +[tool.coverage.report] |
| 48 | +fail_under = 80 |
| 49 | +show_missing = true |
0 commit comments