This is an automated email from the ASF dual-hosted git repository.
arm pushed a change to branch form_validation_cache
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git
omit 61b7a88c #776 - implement 50k character limit for vote comment and
support passing form errors through a cache in the form module instead of via
flash in the session
omit a1d8b129 #840: rename types to *Key
omit d5f00254 #840: safe committee name type - without validation
add 7d3aad2b Add `pre-commit` hooks to dependabot.yml
add fa2ec300 Add file classifications to attestable data
add 89872ad8 Update dependencies
add d3c91a45 Comment out Dependabot pre-commit checks until cooldowns are
supported
add d61a7a4b Update aiosqlite
add 838e9a65 Add a table for release file states to the database
add 92011dd5 Add simple unit tests for release file states
add a62f505c Logout is a POST (#876)
add f8a0a2ae #840: safe committee name type - without validation
add ece11fd3 #840: rename types to *Key
add 1ad84443 Ensure that relevant SQLite pragmas are set per connection
add caf1fc3e Record file metadata change events in the database
add 45f2bfd0 Add tests for file metadata, including testing an alternative
design
add 719c6fd1 Renaming "_name" to "_key" throughout the codebase and
database
add 3a99ce3b Renaming "_name" to "_key" throughout the codebase and
database
add 472d371e Read hashes either from the database or by recomputing from
disk
add 87b6591a Get classifications either from the database or by recomputing
add a912cec2 Remove the code to write the unused attestable path files
add c9838b2c #776 - implement 50k character limit for vote comment and
support passing form errors through a cache in the form module instead of via
flash in the session
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (61b7a88c)
\
N -- N -- N refs/heads/form_validation_cache (c9838b2c)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/dependabot.yml | 6 +
.pre-commit-config.yaml | 2 +-
atr/admin/__init__.py | 96 ++---
atr/admin/templates/all-releases.html | 8 +-
atr/api/__init__.py | 220 ++++++-----
atr/attestable.py | 240 +++++++-----
atr/blueprints/common.py | 2 +-
atr/blueprints/get.py | 2 +-
atr/blueprints/post.py | 10 +-
atr/cache.py | 14 +-
atr/config.py | 3 +
atr/construct.py | 90 +++--
atr/datasources/apache.py | 60 +--
atr/db/__init__.py | 273 ++++++++++----
atr/db/interaction.py | 84 ++---
atr/detection.py | 2 +-
atr/docs/authorization-security.md | 10 +-
atr/docs/database.md | 4 +-
atr/docs/input-validation.md | 4 +-
atr/docs/storage-interface.md | 6 +-
atr/docs/user-interface.md | 8 +-
atr/get/announce.py | 50 +--
atr/get/checklist.py | 18 +-
atr/get/checks.py | 48 +--
atr/get/committees.py | 8 +-
atr/get/compose.py | 12 +-
atr/get/distribution.py | 100 +++--
atr/get/download.py | 78 ++--
atr/get/draft.py | 22 +-
atr/get/file.py | 36 +-
atr/get/finish.py | 60 +--
atr/get/ignores.py | 18 +-
atr/get/keys.py | 38 +-
atr/get/manual.py | 38 +-
atr/get/projects.py | 106 +++---
atr/get/release.py | 20 +-
atr/get/report.py | 18 +-
atr/get/result.py | 14 +-
atr/get/revisions.py | 44 ++-
atr/get/root.py | 4 +-
atr/get/sbom.py | 36 +-
atr/get/start.py | 12 +-
atr/get/test.py | 30 +-
atr/get/upload.py | 26 +-
atr/get/vote.py | 54 +--
atr/get/voting.py | 54 +--
atr/mapping.py | 8 +-
atr/merge.py | 81 ++--
atr/models/api.py | 14 +-
atr/models/attestable.py | 18 +-
atr/models/results.py | 12 +-
atr/models/sql.py | 204 +++++-----
atr/paths.py | 20 +-
atr/post/announce.py | 30 +-
atr/post/distribution.py | 90 ++---
atr/post/draft.py | 128 +++----
atr/post/finish.py | 48 ++-
atr/post/ignores.py | 32 +-
atr/post/keys.py | 54 +--
atr/post/manual.py | 46 +--
atr/post/projects.py | 100 ++---
atr/post/resolve.py | 30 +-
atr/post/revisions.py | 38 +-
atr/post/sbom.py | 50 +--
atr/post/start.py | 16 +-
atr/post/upload.py | 94 ++---
atr/post/vote.py | 14 +-
atr/post/voting.py | 44 +--
atr/principal.py | 30 +-
atr/render.py | 4 +-
atr/server.py | 21 +-
atr/shared/distribution.py | 16 +-
atr/shared/keys.py | 14 +-
atr/shared/projects.py | 26 +-
atr/shared/start.py | 8 +-
atr/shared/web.py | 34 +-
atr/ssh.py | 128 ++++---
atr/static/css/atr.css | 9 -
atr/storage/__init__.py | 170 ++++-----
atr/storage/readers/checks.py | 12 +-
atr/storage/readers/releases.py | 16 +-
atr/storage/writers/announce.py | 42 +--
atr/storage/writers/cache.py | 10 +-
atr/storage/writers/checks.py | 30 +-
atr/storage/writers/distributions.py | 58 ++-
atr/storage/writers/keys.py | 82 ++--
atr/storage/writers/mail.py | 10 +-
atr/storage/writers/policy.py | 38 +-
atr/storage/writers/project.py | 52 +--
atr/storage/writers/release.py | 148 ++++----
atr/storage/writers/revision.py | 172 +++++----
atr/storage/writers/sbom.py | 42 +--
atr/storage/writers/ssh.py | 16 +-
atr/storage/writers/tokens.py | 10 +-
atr/storage/writers/vote.py | 80 ++--
atr/storage/writers/workflowstatus.py | 16 +-
atr/tabulate.py | 12 +-
atr/tasks/__init__.py | 46 +--
atr/tasks/checks/__init__.py | 88 +++--
atr/tasks/checks/compare.py | 14 +-
atr/tasks/checks/paths.py | 12 +-
atr/tasks/checks/signature.py | 24 +-
atr/tasks/distribution.py | 8 +-
atr/tasks/gha.py | 16 +-
atr/tasks/keys.py | 8 +-
atr/tasks/quarantine.py | 48 +--
atr/tasks/sbom.py | 42 +--
atr/tasks/svn.py | 14 +-
atr/tasks/vote.py | 20 +-
atr/templates/check-selected-path-table.html | 20 +-
atr/templates/check-selected-release-info.html | 38 +-
atr/templates/check-selected.html | 16 +-
atr/templates/committee-directory.html | 14 +-
atr/templates/committee-view.html | 4 +-
atr/templates/download-all.html | 14 +-
atr/templates/draft-tools.html | 2 +-
atr/templates/includes/topnav.html | 13 +-
atr/templates/index-committer.html | 22 +-
atr/templates/project-select.html | 10 +-
atr/templates/projects.html | 6 +-
atr/templates/release-select.html | 6 +-
atr/templates/releases-finished.html | 4 +-
atr/templates/releases.html | 2 +-
atr/templates/report-selected-path.html | 8 +-
atr/templates/resolve-tabulated.html | 2 +-
atr/user.py | 2 +-
atr/util.py | 29 +-
atr/validate.py | 38 +-
atr/web.py | 18 +-
atr/worker.py | 20 +-
migrations/versions/0059_2026.03.16_7dda4775.py | 50 +++
migrations/versions/0060_2026.03.16_2c8e4716.py | 479 ++++++++++++++++++++++++
playwright/test.py | 282 +++++++-------
pyproject.toml | 2 +-
requirements-for-pip-audit.txt | 13 +-
scripts/keys_import.py | 22 +-
tests/e2e/announce/conftest.py | 32 +-
tests/e2e/compose/conftest.py | 18 +-
tests/e2e/helpers.py | 6 +-
tests/e2e/ignores/helpers.py | 4 +-
tests/e2e/ignores/test_get.py | 4 +-
tests/e2e/merge/conftest.py | 8 +-
tests/e2e/merge/helpers.py | 4 +-
tests/e2e/merge/test_get.py | 2 +-
tests/e2e/policy/helpers.py | 4 +-
tests/e2e/report/conftest.py | 24 +-
tests/e2e/sbom/conftest.py | 12 +-
tests/e2e/sbom/helpers.py | 4 +-
tests/e2e/sbom/test_post.py | 4 +-
tests/e2e/vote/conftest.py | 22 +-
tests/e2e/voting/conftest.py | 20 +-
tests/unit/recorders.py | 6 +-
tests/unit/test_archive_root_variants.py | 4 +-
tests/unit/test_attestable.py | 84 +++++
tests/unit/test_checks_compare.py | 14 +-
tests/unit/test_create_revision.py | 114 ++++--
tests/unit/test_create_revision_quarantine.py | 30 +-
tests/unit/test_ignores_api_models.py | 24 +-
tests/unit/test_merge.py | 59 +--
tests/unit/test_paths.py | 2 +-
tests/unit/test_quarantine_task.py | 20 +-
tests/unit/test_release_file_state.py | 186 +++++++++
uv.lock | 75 ++--
163 files changed, 3989 insertions(+), 2838 deletions(-)
create mode 100644 migrations/versions/0059_2026.03.16_7dda4775.py
create mode 100644 migrations/versions/0060_2026.03.16_2c8e4716.py
create mode 100644 tests/unit/test_release_file_state.py
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]