ci: configura pipeline di integrazione continua
Continuous Integration / Quality Assurance (push) Canceled after 0s

This commit is contained in:
2026-08-06 15:36:53 +02:00
parent 62bc8eb00c
commit a8ad01d04c
3 changed files with 141 additions and 71 deletions
+47
View File
@@ -0,0 +1,47 @@
name: Continuous Integration
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
quality:
name: Quality Assurance
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Upgrade pip
run: |
python -m pip install --upgrade pip
- name: Install project
run: |
python -m pip install -e ".[dev]"
- name: Ruff
run: |
python -m ruff check .
python -m ruff format --check .
- name: MyPy
run: |
python -m mypy .
- name: Test & Coverage
run: |
python -m coverage run -m pytest
python -m coverage report
+85 -71
View File
@@ -1,34 +1,40 @@
# SMAVS # SMAVS
> **SMAVS (Su Misura Al Vostro Sistema)** > **SMAVS (Su Misura Al Vostro Sistema)**
> The Composition Engine developed by **Spiral**. > Il Composition Engine proprietario sviluppato da **Spiral**.
--- ---
## Overview ## Cos'è SMAVS
SMAVS is a deterministic composition engine designed to transform structured specifications into complete software artifacts through a modular composition pipeline. SMAVS è un **Composition Engine deterministico** progettato per trasformare una specifica strutturata in un artefatto software completo attraverso una pipeline di composizione modulare.
Rather than generating code directly, SMAVS analyzes a specification, selects compatible modules, resolves dependencies, builds an execution plan, and composes the final artifact. Il framework non genera semplicemente codice e non è un template engine o un website builder.
The framework is built around the principles of: SMAVS analizza una specifica, seleziona i moduli compatibili, risolve automaticamente le dipendenze, costruisce un piano di esecuzione e compone l'artefatto finale in maniera completamente deterministica.
- Deterministic execution ---
- Modular architecture
- Composition over inheritance ## Principi
- Domain-Driven Design
L'intera architettura del framework è basata sui seguenti principi:
- Determinismo
- Modularità
- Composition over Inheritance
- Domain-Driven Design (DDD)
- Clean Architecture - Clean Architecture
- Layer isolation - Layer Isolation
- Dependency inversion - Dependency Inversion
- Immutability - Immutabilità
--- ---
## Architecture ## Architettura
The composition pipeline follows the architecture defined by the Software Architecture Specification (SAS): La pipeline di composizione segue l'architettura definita nella Software Architecture Specification (SAS).
``` ```text
JSON JSON
@@ -53,13 +59,13 @@ Composition
Artifact Artifact
``` ```
Each layer communicates exclusively through Contracts. Ogni layer comunica esclusivamente attraverso i **Contract** definiti dal framework.
--- ---
## Repository Structure ## Struttura della Repository
``` ```text
smavs/ smavs/
├── api/ ├── api/
@@ -76,84 +82,92 @@ smavs/
--- ---
## Current Status ## Obiettivi
Current version: SMAVS è progettato per:
``` - analizzare una specifica di progetto;
0.1.0 (Foundation) - costruire il Composition Context;
``` - selezionare automaticamente i moduli;
- risolvere dipendenze e conflitti;
- generare un Execution Plan;
- comporre artefatti software riproducibili.
Current implementation phase: A parità di:
``` - specifica;
PHASE 0 — Foundation - versione del framework;
``` - versione dei moduli;
Current sprint: SMAVS produrrà sempre lo stesso risultato.
```
Sprint 0.1 — Repository
```
--- ---
## Project Goals ## Stack Tecnologico
SMAVS aims to provide a deterministic engine capable of: - Python 3.11+
- analyzing project specifications;
- building composition contexts;
- resolving module dependencies;
- selecting compatible variants;
- composing software artifacts;
- producing reproducible outputs.
Given the same:
- specification;
- framework version;
- module versions;
SMAVS always produces the same artifact.
---
## Technology Stack
- Python 3.12+
- Domain-Driven Design - Domain-Driven Design
- Clean Architecture - Clean Architecture
- SOLID - SOLID
- Dataclasses - Dataclass immutabili
- Protocols - Protocol
- Pydantic v2 (API only) - Pydantic v2 (solo API)
--- ---
## Documentation ## Stato del Progetto
Project documentation is organized under the `docs/` directory. Versione corrente
It includes: ```text
0.1.0
```
- Architecture Fase corrente
- Guides
```text
PHASE 0 — Foundation
```
Stato
```text
In sviluppo
```
---
## Documentazione
La documentazione del progetto è disponibile nella cartella `docs/` ed è organizzata nelle seguenti sezioni:
- Architettura
- Guide
- API - API
- Contracts - Contract
- Modules - Moduli
- Examples - Esempi
--- ---
## License ## Licenza
This project is licensed under the terms described in the `LICENSE` file. SMAVS è un software proprietario sviluppato da **Spiral**.
L'utilizzo, la modifica e la distribuzione sono regolati dal file `LICENSE`.
--- ---
## Developed by ## Repository
**Spiral** Repository ufficiale:
SMAVS is the proprietary Composition Engine powering the Spiral ecosystem. ```
https://gitea.netbird.smavs.duckdns.org/SMAVS/smavs
```
---
## Spiral
SMAVS costituisce il motore di composizione alla base dell'ecosistema **Spiral** ed è progettato per consentire la generazione deterministica di artefatti software modulari, estendibili e completamente componibili.
+9
View File
@@ -180,3 +180,12 @@ exclude_lines = [
[tool.mkdocs] [tool.mkdocs]
config_file = "mkdocs.yml" config_file = "mkdocs.yml"
[tool.coverage.paths]
source = [
".",
]
[tool.coverage.html]
directory = "htmlcov"