This is an automated email from the ASF dual-hosted git repository.

sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git


The following commit(s) were added to refs/heads/main by this push:
     new 3059c05  Add license check exclusion properties to release policies
3059c05 is described below

commit 3059c05f75791f1ff01694e524d4470bc078747a
Author: Sean B. Palmer <[email protected]>
AuthorDate: Thu Jan 8 20:38:57 2026 +0000

    Add license check exclusion properties to release policies
---
 atr/models/sql.py                               | 18 +++++++++++++++
 migrations/versions/0035_2026.01.08_2bbfd636.py | 29 +++++++++++++++++++++++++
 2 files changed, 47 insertions(+)

diff --git a/atr/models/sql.py b/atr/models/sql.py
index 02b502f..16ecfe5 100644
--- a/atr/models/sql.py
+++ b/atr/models/sql.py
@@ -687,6 +687,18 @@ Thanks,
             return LicenseCheckMode.BOTH
         return policy.license_check_mode
 
+    @property
+    def policy_source_excludes_lightweight(self) -> list[str]:
+        if (policy := self.release_policy) is None:
+            return []
+        return policy.source_excludes_lightweight or []
+
+    @property
+    def policy_source_excludes_rat(self) -> list[str]:
+        if (policy := self.release_policy) is None:
+            return []
+        return policy.source_excludes_rat or []
+
     @property
     def policy_strict_checking(self) -> bool:
         # This is bool, so it should never be None
@@ -1033,6 +1045,12 @@ class ReleasePolicy(sqlmodel.SQLModel, table=True):
         default_factory=list, sa_column=sqlalchemy.Column(sqlalchemy.JSON)
     )
     license_check_mode: LicenseCheckMode = 
sqlmodel.Field(default=LicenseCheckMode.BOTH)
+    source_excludes_lightweight: list[str] = sqlmodel.Field(
+        default_factory=list, sa_column=sqlalchemy.Column(sqlalchemy.JSON, 
nullable=False)
+    )
+    source_excludes_rat: list[str] = sqlmodel.Field(
+        default_factory=list, sa_column=sqlalchemy.Column(sqlalchemy.JSON, 
nullable=False)
+    )
     strict_checking: bool = sqlmodel.Field(default=False)
     github_repository_name: str = sqlmodel.Field(default="")
     github_compose_workflow_path: list[str] = sqlmodel.Field(
diff --git a/migrations/versions/0035_2026.01.08_2bbfd636.py 
b/migrations/versions/0035_2026.01.08_2bbfd636.py
new file mode 100644
index 0000000..626a39e
--- /dev/null
+++ b/migrations/versions/0035_2026.01.08_2bbfd636.py
@@ -0,0 +1,29 @@
+"""Add check exclusion properties to release policies
+
+Revision ID: 0035_2026.01.08_2bbfd636
+Revises: 0034_2025.12.31_ac4dcf44
+Create Date: 2026-01-08 19:52:50.017456+00:00
+"""
+
+from collections.abc import Sequence
+
+import sqlalchemy as sa
+from alembic import op
+
+# Revision identifiers, used by Alembic
+revision: str = "0035_2026.01.08_2bbfd636"
+down_revision: str | None = "0034_2025.12.31_ac4dcf44"
+branch_labels: str | Sequence[str] | None = None
+depends_on: str | Sequence[str] | None = None
+
+
+def upgrade() -> None:
+    with op.batch_alter_table("releasepolicy", schema=None) as batch_op:
+        batch_op.add_column(sa.Column("source_excludes_lightweight", 
sa.JSON(), nullable=False, server_default="[]"))
+        batch_op.add_column(sa.Column("source_excludes_rat", sa.JSON(), 
nullable=False, server_default="[]"))
+
+
+def downgrade() -> None:
+    with op.batch_alter_table("releasepolicy", schema=None) as batch_op:
+        batch_op.drop_column("source_excludes_rat")
+        batch_op.drop_column("source_excludes_lightweight")


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to