Add Docker build & GHCR publish stage, fix CI workflows, update AGENTS.md and testing docs

Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/9d256101-34b6-4861-a8cf-7f86f32b54d5

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-29 10:23:49 +00:00
parent 5fa315c8e3
commit bab702a010
9 changed files with 183 additions and 316 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
import random # Used for mock data generation - TODO: Replace with actual historical data
from datetime import datetime, timedelta
from typing import Any, Dict, List, Optional
import random # Used for mock data generation - TODO: Replace with actual historical data
from app.services.report_store import ReportStore
from fastapi import APIRouter, HTTPException, Path, Query, status
+3 -1
View File
@@ -62,7 +62,9 @@ class ReportRecord(Base):
count = Column(Integer, nullable=False, default=0)
# Policy evaluation
disposition = Column(String, nullable=False) # none, quarantine, reject (indexed via __table_args__)
disposition = Column(
String, nullable=False
) # none, quarantine, reject (indexed via __table_args__)
dkim = Column(String, nullable=True, index=True) # pass, fail
spf = Column(String, nullable=True, index=True) # pass, fail
+1 -2
View File
@@ -1,8 +1,7 @@
from app.core.database import Base
from sqlalchemy import Boolean, Column, Integer, String
from sqlalchemy.orm import relationship
from app.core.database import Base
class User(Base):
"""User model"""
+4 -6
View File
@@ -1,11 +1,9 @@
import pytest
from app.core.database import Base, get_db
# Import all models so Base.metadata knows every table
import app.models.domain # noqa: F401
import app.models.report # noqa: F401
import app.models.user # noqa: F401
import pytest
from app.core.database import Base, get_db
from app.services.report_store import ReportStore
from fastapi import FastAPI
from fastapi.testclient import TestClient
@@ -18,8 +16,8 @@ def test_app() -> FastAPI:
"""Create a fresh FastAPI application instance for testing."""
from app.main import create_app
app = create_app()
return app
application = create_app()
return application
@pytest.fixture()