This is an automated email from the ASF dual-hosted git repository.
sbp pushed a commit to branch sbp
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git
The following commit(s) were added to refs/heads/sbp by this push:
new 356a7fc Update the documentation about check result ignores
356a7fc is described below
commit 356a7fc29ae5caee97c32d2b36464e2a7ac8e9b1
Author: Sean B. Palmer <[email protected]>
AuthorDate: Fri Jan 30 15:39:38 2026 +0000
Update the documentation about check result ignores
---
atr/docs/check-ignores.md | 6 +++---
atr/docs/security-authorization.md | 5 +++++
atr/docs/storage-interface.md | 2 ++
3 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/atr/docs/check-ignores.md b/atr/docs/check-ignores.md
index 5cebbb4..36d8e27 100644
--- a/atr/docs/check-ignores.md
+++ b/atr/docs/check-ignores.md
@@ -14,7 +14,7 @@
## Overview
-Check ignores let committee members hide specific check results in the UI.
Ignored checks are removed from the warning and error counts shown on the
checks pages and are shown separately in _Ignored checks_ sections.
+Check ignores let project committee members hide specific check results in the
UI. Ignored checks are removed from the warning and error counts shown on the
checks pages and are shown separately in _Ignored checks_ sections.
### Where to manage ignores
@@ -22,7 +22,7 @@ You can manage ignores from the release checks page by
selecting _Manage check i
### Permissions and visibility
-Any committer can view the ignores page for a committee, but only committee
members can add, update, or delete ignores. Ignores are stored per committee
and apply only to that committee's releases. (We intend to update this so that
ignores are stored per project instead.)
+Any committer can view the ignores page for a project, but only committee
members can add, update, or delete ignores. Ignores are stored per project and
apply only to that project's releases.
Please note that on the release checks page, the _Ignored checks_ list
includes primary check results only; archive member checks are not shown there.
On the per-file report page, the _Ignored checks_ list can include member
checks for that file.
@@ -58,7 +58,7 @@ Negation and missing values are handled with a leading
exclamation mark. Prefix
## Examples
-To ignore all RAT warnings for your committee, set the checker pattern to
`atr.tasks.checks.rat.check` and the status to `Warning`.
+To ignore all RAT warnings for your project, set the checker pattern to
`atr.tasks.checks.rat.check` and the status to `Warning`.
To ignore license header failures for a specific release series, set the
release pattern to `apache-example-1.2.*`, the checker pattern to
`atr.tasks.checks.license.headers`, and the status to `Failure`.
diff --git a/atr/docs/security-authorization.md
b/atr/docs/security-authorization.md
index 9d76df1..da987a1 100644
--- a/atr/docs/security-authorization.md
+++ b/atr/docs/security-authorization.md
@@ -13,6 +13,7 @@
* [LDAP integration](#ldap-integration)
* [Access control for releases](#access-control-for-releases)
* [Access control for tokens](#access-control-for-tokens)
+* [Access control for check ignores](#access-control-for-check-ignores)
* [Implementation patterns](#implementation-patterns)
* [Caching behavior](#caching-behavior)
* [Implementation references](#implementation-references)
@@ -126,6 +127,10 @@ Token operations apply to the authenticated user:
* Allowed for: Anyone with a valid PAT
* Note: This is an unauthenticated endpoint; the PAT serves as the credential
+## Access control for check ignores
+
+Check ignores allow committee members to suppress specific check results from
the warning and error counts. The ignores page is accessible to any
authenticated committer, but only PMC members of the project's committee can
add, update, or delete ignore rules. The storage writer validates that the user
is a member of the committee that owns the target project by calling
`is_member_of(project.committee_name)`. As additional protection, the writer
also validates that the project belongs to [...]
+
## Implementation patterns
Authorization checks in ATR follow consistent patterns.
diff --git a/atr/docs/storage-interface.md b/atr/docs/storage-interface.md
index d394275..2901c6d 100644
--- a/atr/docs/storage-interface.md
+++ b/atr/docs/storage-interface.md
@@ -46,6 +46,8 @@ The write session takes an optional
[`Committer`](/ref/atr/web.py:Committer) or
Because projects belong to committees, we provide
[`write.as_project_committee_member(project_name)`](/ref/atr/storage/__init__.py:as_project_committee_member)
and
[`write.as_project_committee_participant(project_name)`](/ref/atr/storage/__init__.py:as_project_committee_participant),
which look up the project's committee and authenticate the user as a member or
participant of that committee. This is convenient when, for example, the URL
provides a project name.
+Some storage writers perform additional authorization validation beyond what
`as_project_committee_member` provides. The check ignores writer, for example,
validates that the target project belongs to the committee for which the user
is authorized. Therefore even if a caller mistakenly passes an incorrect
project name, the writer will reject the operation.
+
Here is a more complete example from
[`api/__init__.py`](/ref/atr/api/__init__.py) that shows the classic three step
pattern:
```python
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]