commit 0e3b405919e24bb4b38b972aeefb2aaf3e228ed1
Merge: f444a1108 caf20acb4
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Mar 20 22:47:38 2026 +0000
server: Suppress database errors in mail_admins handler (MR !2859)
Resolves #1384.
During database outages, the `mail_admins` handler was sending thousands of emails for `OperationalError` and `InterfaceError` exceptions.
This MR introduces a `SuppressDatabaseErrors` filter in a new `debusine/django/log_filters.py` module to keep the settings clean, and attaches it to the `mail_admins` handler.
*(Note: @stefanor already confirmed in the issue comments that `debusine/signing` does not need this filter due to differences in concurrent request handling and lock contention, so I have left its logging configuration as-is).*
Closes #1384
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2859
commit caf20acb4816364f4a6afeb2825360ffb64ef973
Author: Youssef Noser <27863-youssefnoser@users.noreply.salsa.debian.org>
Date: Sat Mar 21 00:47:38 2026 +0200
server: Suppress database errors in mail_admins handler
commit f444a110890eeb12a582958fc2428a0e97299f96
Merge: 00a04a9db 5c2fb9e26
Author: Enrico Zini <enrico@debian.org>
Date: Fri Mar 20 12:57:25 2026 +0000
Fixed flaky test (MR !2879)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2879
commit 00a04a9dbcbb8a6d49384caec6284bbfab8e9c69
Merge: 8284cacbf 72b4786b6
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Mar 20 11:23:24 2026 +0000
Fix Pydantic 2 deprecations in MultiInputListTests (MR !2869)
CC @carlespina since this is now the third change from you I've fixed up like this. :-) Maybe an old habit somewhere?
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2869
commit 5c2fb9e26f2f45937d41a9700e624c14d95994ed
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Mar 18 12:55:47 2026 +0100
Fixed flaky test
commit 8284cacbff0892025b67f7146d9f7e515e0e7b3a
Merge: 177d0cb0a 6c5457009
Author: Stefano Rivera <stefanor@debian.org>
Date: Thu Mar 19 17:42:10 2026 +0000
Enforce more permissions in API views (MR !2857)
Some of this duplicates checks done in models, but it's probably a good
practice to think about permissions in all API views.
Stacked on top of !2844, as it is required for the tests to pass.
Part of a permissions audit for #523
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2857
commit 177d0cb0af20b0c45d7f88c394bb69cecca6635a
Merge: 82f231a67 1c777c7a5
Author: Enrico Zini <enrico@debian.org>
Date: Thu Mar 19 16:57:15 2026 +0000
Promote worker:class tags from blueprint to official. Fixes: #1391 (MR !2871)
Closes #1391
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2871
commit 82f231a67c3eca10c0fe11f02bfd53c599155e86
Merge: fec411619 6a228d9fd
Author: Enrico Zini <enrico@debian.org>
Date: Thu Mar 19 16:22:48 2026 +0000
Document work request field lifetimes. Fixes: #1348 (MR !2873)
Document when configured task data, scheduler tags and dynamic data are computed / are available in a task lifetime.
Closes #1348
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2873
commit 6c545700944979f988930ff874162c74995f7413
Author: Stefano Rivera <stefano@freexian.com>
Date: Sun Mar 15 14:41:40 2026 -0400
BaseAPIView: Require ensure() to be called at least once on every request
commit 3b7770d6f2f746f48fec812249051ae1170a9d95
Author: Stefano Rivera <stefano@freexian.com>
Date: Sun Mar 15 14:40:42 2026 -0400
Enforce more permissions in API views
Some of this duplicates checks done in models, but it's probably a good
practice to think about permissions in all API views.
commit fec4116191d74e8452202be2cd072a581b24c303
Merge: 75ce52037 19cabae37
Author: Enrico Zini <enrico@debian.org>
Date: Thu Mar 19 15:27:25 2026 +0000
Add a news fragment for #1380 (MR !2877)
Follow-up to !2872.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2877
commit 1c777c7a500c3781758705cc332dde7732719f00
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Mar 18 15:42:16 2026 +0100
Promote worker:class tags from blueprint to official. Fixes: #1391
commit 6a228d9fd3aadb05ae93c84f22d21dec72239a69
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Mar 18 15:56:46 2026 +0100
Document when configured task data, scheduler tags and dynamic data are computed / are available in a task lifetime. Fixes: #1348
commit 75ce5203711c26f921b3c1a725f1347adef2efa1
Merge: bcb328dcc 02dc85591
Author: Enrico Zini <enrico@debian.org>
Date: Thu Mar 19 15:19:12 2026 +0000
Use task inputs in server tasks (#1357) (MR !2867)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2867
commit bcb328dcc0ccb9c2fee3abfc3b3e6ac3965eea17
Merge: e1b3521a2 ab33a385a
Author: Stefano Rivera <stefanor@debian.org>
Date: Thu Mar 19 15:12:44 2026 +0000
Accept user tokens on lookup endpoints instead of worker tokens (MR !2844)
External workers don't have any need for these endpoints, replace them
with something entirely user-facing.
Part of: #691, #523
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2844
commit e1b3521a20d09e9bd56bfc67bf114d45c63601e3
Merge: 427481e83 2425e176f
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 14:48:37 2026 +0000
Fix flaky DBFieldResolver tests (MR !2878)
Noticed in https://salsa.debian.org/cjwatson/debusine/-/jobs/9257119.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2878
commit 427481e83c3a9f56f475c69e82277d9da5c2ceb5
Merge: d9fd4996f 70f41a545
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 14:32:11 2026 +0000
Fix workflow orchestrator crashes if children have been retried (MR !2876)
Fixes: #1400
Closes #1400
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2876
commit d9fd4996f2458324b08ce5c150b8bfe1c37e0e1f
Merge: 9e6249cb7 7af9cab34
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 14:28:59 2026 +0000
docs: Add deployment architecture explanation (MR !2874)
This is a first stab at explaining the sorts of things that people deploying Debusine for themselves need to know.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2874
commit ab33a385af630335a49ecc01438d8336b15d14ac
Author: Stefano Rivera <stefano@freexian.com>
Date: Wed Mar 11 22:34:45 2026 -0400
Accept user tokens in lookup endpoints instead of worker tokens
External workers don't have any need for these endpoints, replace them
with something entirely user-facing.
Part of: #691, #523
commit 9e6249cb78fe475c8a74d8502fdbcdf60a03b67b
Merge: 85b584e86 be3df5cfa
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 13:25:28 2026 +0000
Fix list-work-requests.yaml in integration tests to be YAML (MR !2875)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2875
commit 2425e176f9a5bba2f28ef6404091a24e6acabb0a
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 13:23:00 2026 +0000
Fix flaky DBFieldResolver tests
Noticed in https://salsa.debian.org/cjwatson/debusine/-/jobs/9257119.
commit 19cabae371f9e5e714fd06e84c9df374cd8542ac
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 13:14:47 2026 +0000
Add a news fragment for #1380
Follow-up to !2872.
commit 85b584e860e0c7dbec499a3229a7e2f42e39af21
Merge: df568e1eb d092a2f0b
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 13:11:23 2026 +0000
Require sbsign from worker only if purpose is UEFI. Fixes: #1380 (MR !2872)
Closes #1380
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2872
commit 7af9cab34bf808a924552847e8303240dbeb26ad
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Mar 18 18:17:45 2026 +0000
docs: Add deployment architecture explanation
commit 70f41a5454bb24be9619e7bd575e482b27251425
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 12:24:04 2026 +0000
Fix workflow orchestrator crashes if children have been retried
Fixes: #1400
commit 8a239e0d8492d038bc94c188ef0ed59e83ee526b
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 12:19:16 2026 +0000
Refactor some repetitive Workflow tests
commit be3df5cfa0b2f38517bc07cfed89d48494f73d49
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Mar 19 11:58:20 2026 +0000
Fix list-work-requests.yaml in integration tests to be YAML
commit b99eecfb835230392818cf273d7e823fc205e9da
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Mar 18 18:16:27 2026 +0000
gunicorn.conf.py: Update documentation URL
commit d092a2f0bef7d9808c1e1ce70ed8343ba2f37677
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Mar 18 15:48:32 2026 +0100
Require sbsign from worker only if purpose is UEFI. Fixes: #1380
commit 72b4786b6b95bf6590aa505b2e70c8dce154f322
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Mar 18 13:30:01 2026 +0000
Fix Pydantic 2 deprecations in MultiInputListTests
commit df568e1eb0a6b206df31b9112c5c261c654f28ca
Merge: 7663fddf1 98bc3efa5
Author: Stefano Rivera <stefanor@debian.org>
Date: Tue Mar 17 22:24:54 2026 +0000
Drop #pricing anchor, Hetzner has replaced the table with a calculator (MR !2865)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2865
commit 02dc85591e11c58b0097f6e387c65dd9956c3a79
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 17 17:53:30 2026 +0100
APTMirrorData.collection was used for lookups, changing its type accordingly
commit bb4f3d853cbe1fa4a439290001dc43054f5d3fb5
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 17 17:10:13 2026 +0100
Use task input fields for server tasks
commit 113250929839856c60028f9ebf4eea9e8974759c
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 17 17:08:55 2026 +0100
Added DB-side input fields for single artifact and collection lookups
commit fb8d79e32e4be0b993d1513d5f91c40e30aa6d7f
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 17 17:02:46 2026 +0100
Disentangle server task scheduling information from dynamic task data
commit 7663fddf1cc95cf878a969fcf798b848dc152dd3
Merge: 43272414f d7919b1d0
Author: Enrico Zini <enrico@debian.org>
Date: Tue Mar 17 17:46:31 2026 +0000
Implement task input fields for all task types, and resolve the task configuration collection via input field (#1357) (MR !2866)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2866
commit d7919b1d03854857a1131c9bdf3bf62c7c20bd57
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 17 10:08:23 2026 +0100
Use a task input field to lookup task configuration
commit 94891580c4970d191206968f4153c0c6bfd5a058
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 17 10:17:33 2026 +0100
Delegate resolving inputs to WorkRequest, so it is called at the right points in a task's lifetime
commit 7c5d47edd603d0cb9b4702e39eb272e77cf8a2fa
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Mar 16 12:58:22 2026 +0100
Add support for input fields to DBTask
commit 6619dcbf94664d8ace56a8f4e3298fa2a951c70a
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Mar 16 12:39:33 2026 +0100
Added a way to chain task field containers
commit 5e74fa2b9221988e8c16c7baf793baeee537a288
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Mar 16 09:52:51 2026 +0100
Extend resolver lookup results to hold django models if known
commit 43272414fe538a762ed2c611420e44a8011525b1
Merge: d69214adf 0db0eed99
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Mar 17 14:38:44 2026 +0000
Revert debci workarounds (MR !2864)
This reverts commits c228b32308efeee7d6ed58b897b7432b834346d3 and
f3bebdcbd69c0b4c1f8b592b83de1e64c9ce1e81, since debci 3.14.1 fixed the
underlying problems.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2864
commit 98bc3efa52da358b8d15ca7f1e7c5314040c0fbc
Author: Stefano Rivera <stefano@freexian.com>
Date: Tue Mar 17 10:03:05 2026 -0400
Drop #pricing anchor, Hetzner has replaced the table with a calculator
commit 0db0eed99306bb96683e73a54d5eef8700a3b639
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Mar 17 13:34:07 2026 +0000
Revert debci workarounds
This reverts commits c228b32308efeee7d6ed58b897b7432b834346d3 and
f3bebdcbd69c0b4c1f8b592b83de1e64c9ce1e81, since debci 3.14.1 fixed the
underlying problems.
commit d69214adfc604e419e078818a3926921149fd0fe
Merge: 2d603265f 78ace5aaa
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Mar 16 23:41:25 2026 +0000
Optimize mtime checks (MR !2862)
It's relatively rare for files to be orphaned (in storage but not in the
database), and checking the mtime requires an extra system call for
local stores. That means that it makes more sense to only check mtimes
for files after checking that they're orphaned.
Part of #724.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2862
commit 78ace5aaa149c2128cef8aa14b5cc0986345e41e
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Mar 16 18:02:35 2026 +0000
Remove useless sort
commit 16f2e49a321ca0773182d5e4b1af56d790f9267c
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Mar 11 10:21:28 2026 +0000
Optimize mtime checks
It's relatively rare for files to be orphaned (in storage but not in the
database), and checking the mtime requires an extra system call for
local stores. That means that it makes more sense to only check mtimes
for files after checking that they're orphaned.
Part of #724.
commit 2d603265f071ee4069c08c1b480032cb839d5084
Merge: b2de2c3d2 a312708e4
Author: Stefano Rivera <stefanor@debian.org>
Date: Mon Mar 16 16:12:10 2026 +0000
Rename SECRET_KEY prefix from `default` to `django-insecure-` (MR !2861)
* Rename SECRET_KEY prefix from `default` to `django-insecure-`
* Delete `secret_key_not_default_in_debug_0` method
Fixes: https://salsa.debian.org/freexian-team/debusine/-/issues/55
Closes #55
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2861
commit b2de2c3d2cd47e8c4ef29efc452bd6956a250570
Merge: be2a6fec8 8af5f3695
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Mar 16 14:50:53 2026 +0000
Upgrade to ruff 0.15.6 (MR !2860)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2860
commit be2a6fec8b182c5a31e53d7440808e70a27bdb00
Merge: 274e1f4f4 687b91349
Author: Stefano Rivera <stefanor@debian.org>
Date: Mon Mar 16 14:04:35 2026 +0000
Restrict the websocket to external (and signing) workers (MR !2858)
In preparation for #523
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2858
commit a312708e4c5d2cebfd4d4ca7dac91f0129af644b
Author: elkal98 <khalid.alhaddad98@gmail.com>
Date: Mon Mar 16 13:34:53 2026 +0000
Rename SECRET_KEY prefix from `default` to `django-insecure-`
commit 274e1f4f4e49071ca6caf5fb1e5e5c0d8e916dad
Merge: b685c9254 ef6ac71e3
Author: Stefano Rivera <stefanor@debian.org>
Date: Mon Mar 16 13:07:34 2026 +0000
Restrict access to the asset-permission-check endpoint to signing workers. (MR !2856)
Part of a permissions audit for #523
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2856
commit 8af5f3695c91081052830b664c34bed0b4cbabdd
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Mar 16 13:05:29 2026 +0000
Upgrade to ruff 0.15.6
commit ef6ac71e310b4ad0666c17c5d17a625057fa8830
Author: Stefano Rivera <stefano@freexian.com>
Date: Sun Mar 15 10:59:27 2026 -0400
Restrict access to the asset-permission-check endpoint to signing workers.
commit 687b91349646db6d95df988234c2ac23832acf33
Author: Stefano Rivera <stefano@freexian.com>
Date: Tue Mar 3 17:09:27 2026 -0400
Restrict the websocket to external (and signing) workers
commit b685c92547d9f52449a4a8bd2e725876411bd8e1
Merge: 55775cecc c60207df6
Author: Enrico Zini <enrico@debian.org>
Date: Mon Mar 16 10:20:47 2026 +0000
Use new test helpers also for workflow tests. Fixes: #1343 (MR !2853)
Closes #1343
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2853
commit 55775cecc5a6552f7e8b29ad82ff7cb456ae3256
Merge: 1def08baf 41f6f3a49
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Mar 16 09:56:46 2026 +0000
BaseDynamicTaskData.get_input_artifacts_ids: return artifact ids if available (MR !2827)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2827
commit 41f6f3a49ea200e5db1484db4d55326cdd7dd499
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Mar 16 09:56:46 2026 +0000
BaseDynamicTaskData.get_input_artifacts_ids: return artifact ids if available
commit c60207df62e3a168d9634242ef0794f5ca3abae0
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Mar 16 09:25:27 2026 +0100
Do not set context_artifact in the common case
commit 304c1934486f52c6741d11aaed7343eb77044677
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Mar 14 15:18:35 2026 +0100
Made test methods stricter, now that all tests follow the same pattern
commit ea84e1bc60a9942bb38c80e90b0a61dc081e0ac1
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Mar 14 14:51:04 2026 +0100
Use new infrastructure in workflow tests
commit ee0a42dc85d4f2dc7940f2fa2c54dd707927c794
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Mar 14 14:13:36 2026 +0100
Share test assets across tests
commit 130ca75f621d7dba824096a018632073ab65a2fb
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Mar 14 14:07:45 2026 +0100
Use self.work_request instead of self.task.work_request
commit 597c73f97af955f166d1d4bc985e797865f7a56f
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 20:55:21 2026 +0100
Update task test helpers to support testing workflows
commit 1def08bafb9c1bb1a5667df53b0162cb61bd2ddf
Merge: 07d7f12ac 64336b644
Author: Enrico Zini <enrico@debian.org>
Date: Mon Mar 16 09:31:55 2026 +0000
Use for server and wait task tests the same patterns used for external task tests (#1343) (MR !2850)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2850
commit 64336b644edf11f3d9e449f95aaa6ae5b696010f
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 20:18:15 2026 +0100
Common base for server and wait task tests
commit b690ed6a667f281cd7ad94ae7ed829192060d197
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 15:12:20 2026 +0100
Use for server task tests the same patterns used for external task tests
commit 07d7f12ace9d41d666421f3415bd551cbdde557f
Merge: fea708bae 93f0630cd
Author: Enrico Zini <enrico@debian.org>
Date: Mon Mar 16 08:56:58 2026 +0000
Merge test helpers for external tasks (#1343) (MR !2849)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2849
commit 93f0630cd46a303d84020c87ff2a1ffbc0b15c61
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 12:05:25 2026 +0100
Unify the rest of worker and signing task helpers
commit 31c38e1692d924232d47340c46ebf0059a579acc
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 11:36:27 2026 +0100
Unify the way external tasks are being tested, and allow direct edit of task data before instantiation
commit 2e0dd42b138841cc1908828cf321bac0736e3847
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 10:41:10 2026 +0100
Common SAMPLE_TASK_DATA for all external task helpers
commit a2e6cff8c8bf1cd051410765473a15173f55ee8a
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 10:39:48 2026 +0100
Instantiate field resolver in base helper class
commit 26a78c5afeeade23eeaa798ff804983bbd8487c9
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 10:23:11 2026 +0100
Renamed task_db to resolver for task tests
No code changes besides renames
commit b6c4ef85c577b363ce6173534a3b4817e4f7a5c2
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 10:00:02 2026 +0100
Renamed debusine.tasks.tests.helper_mixin to debusine.tasks.tests.helpers
No code changes besides renames
commit fea708bae5b3f3b6d08b68010f952d5e39b87ac1
Merge: 628b8ce30 522b9e0d8
Author: Enrico Zini <enrico@debian.org>
Date: Mon Mar 16 08:15:54 2026 +0000
Restrict tasks providing task:source-package tags to the SYSTEM provenance. Fixes: #1381 (MR !2846)
This is interesting in that it's technically the user deciding the source package to build, and therefore its name. However it does come from database queries, and we do want to prevent the user from specifying it in any other way
Closes #1381
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2846
commit 522b9e0d8f099e954106128173951d3c24385d52
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Mar 12 11:12:59 2026 +0100
Restrict tasks providing task:source-package tags to the SYSTEM provenance.
commit 628b8ce3058de97e63e53d6d11ea15f86c8889de
Merge: c128e94cd feaf522b6
Author: Enrico Zini <enrico@debian.org>
Date: Mon Mar 16 07:40:02 2026 +0000
Use a single compute_scheduler_tags to compute task provided/required scheduler tags (#326) (MR !2845)
This replaces !2805
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2845
commit feaf522b6a228261abec5a3461a080c5a653e9c4
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Mar 12 10:50:21 2026 +0100
Document the change
commit b2b3b00b2d266de4e478b025837846ec2c846103
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Mar 12 10:46:40 2026 +0100
Merge compute_system_required_tags, get_user_provided_tags and get_provided_worker_tags into compute_scheduler_tags
commit 0172768dcf60753974891db98267d22f2b32c1f3
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Mar 12 10:30:08 2026 +0100
Refactored tests to test compute_scheduler_tags instead of the old methods
This introduces a common base for all task test helpers, small prelude to #1343
commit 87de0a2f187d1f5400d382f8f47ff7c6f60b3b7d
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Mar 11 10:08:49 2026 +0100
Redesigned server-side computation of task provided/required tags to use a single method
commit c128e94cdbd8850d9b78fcd1bbfcadb56ff24b20
Merge: c03f5994a ffa0309a2
Author: Stefano Rivera <stefanor@debian.org>
Date: Sun Mar 15 19:14:00 2026 +0000
add: pre-commit hook for trailing whitespace and end of file new line (MR !2855)
Added pre-commit hooks to remove trailing whitespaces and extra new lines at the end of files.
Ran pre-commit on entire repo to fix pre-existing inconsistencies.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2855
commit ffa0309a20a4dc98e44154d4cfb099afdb35f674
Author: Nikil Paul S <snikilpaul@gmail.com>
Date: Sun Mar 15 16:01:39 2026 +0000
add: pre-commit hook for trailing whitespace and end of file new line
commit c03f5994a8ebd6094cfa7ba8d6036abfff4ce307
Merge: 9f2184845 cd9f83d74
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Mar 15 10:47:08 2026 +0000
Don't stop/start timer units on upgrade (MR !2854)
This avoids running slow regular jobs as part of the upgrade. They can
wait until their usual time.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2854
commit 9f2184845459a916b9b499181adc2889be55a962
Merge: 9313094ef e697dab86
Author: Colin Watson <cjwatson@debian.org>
Date: Sat Mar 14 22:22:45 2026 +0000
delete_expired: Take much less aggressive locks (#473) (MR !2851)
The `ACCESS EXCLUSIVE` table locks were here to avoid problems where
parallel transactions create new references to rows that are in the
process of being expired. However, taking those locks means that almost
nothing else in Debusine can do anything while expiry is running, which
caused serious operational problems.
We can avoid the new-references problem in a much gentler way: since
creating those new references would involve taking `FOR KEY SHARE` locks
on the referenced rows, we can explicitly take `FOR UPDATE` locks on the
rows that are being expired and rely on that lock mode conflicting with
`FOR KEY SHARE`. To ensure that expiry can run in most situations, we
skip rows that are already locked by another transaction. In the case
of artifacts, we must then recompute the set of artifacts to expire,
since keeping more artifacts than were initially marked to keep might
prevent the expiry of some additional artifacts due to relation chains.
Closes #473
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2851
commit 9313094ef5170d1ff68e5cad00ba7b77c171abd2
Merge: 0cb5e2e77 1ad8fa367
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Mar 13 23:38:54 2026 +0000
Restrict submission to the open-metrics API endpoints to Celery workers. (MR !2848)
Locking down worker token usage in preparation for #523
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2848
commit 0cb5e2e77b16e88a44e90002bc9e4728d89fc8e4
Merge: c68d189f2 d5c770cc5
Author: Enrico Zini <enrico@debian.org>
Date: Fri Mar 13 20:25:15 2026 +0000
Restrict worker provided worker type tags to the system provenance (MR !2837)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2837
commit c68d189f295aa48b011faee3d37104698d23f254
Merge: e61c985d2 e2800c9db
Author: Enrico Zini <enrico@debian.org>
Date: Fri Mar 13 20:09:53 2026 +0000
Make task input fields task-agnostic (#1357) (MR !2833)
This is a partial refactoring: more input field resolution implementations can be ported to `DBFieldResolver`, simplifying them by allowing them to use the Django ORM directly instead of interface methods.
This could potentially make them more efficient: `ExtraRepositoriesInput` now has one less query per debusine repository, as it can reuse the collection to lookup its signing keys.
My goal here however was to allow task input fields to be used for containers that are not `BaseExternalTask`, so that server tasks and workflows could make use of them, too. Building from this MR it should be possible to make it happen
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2833
commit d5c770cc5dd2a5533ad08f23878959020be1448e
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Mar 11 08:56:16 2026 +0100
Announce the change
commit 53ca90833503d961f02c7bef70f2991e9962757c
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Mar 11 08:39:43 2026 +0100
Restrict worker provided worker type tags to the system provenance
commit e2800c9dbf2d9151f31556a8b3a8253cd2518b81
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Mar 13 20:35:45 2026 +0100
Look up archive collection in the same workspace as the suite collection
commit feea05bf14886de0da0ccdf0c90a76e32cca9fa5
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 10 16:05:24 2026 +0100
Ported ExtraRepositoriesInput resolution to FieldResolver.
This allows to do it cleanly with Django's ORM, getting rid of the lookup_single_collection interface
commit 0e8d7e5549c9b8ed2ba78fff54f2777fe7b43669
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 10 14:31:49 2026 +0100
Add a specific fieldresolver method to resolve SuiteArchiveInput
commit ba4acc4dc19350468d085c3c6fac8904e720cd83
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 10 11:54:40 2026 +0100
Make task input fields API agnostic on the TaskFieldContainer type
commit a9bd0010fc11517966855149e8d8a461502e6227
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Mar 10 11:49:20 2026 +0100
Moved MockFieldResolver from task test helpers to debusine.tasks.inputs
commit d844dba578abdccff7ac1697c0ef3c24f5316df9
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Mar 9 16:44:09 2026 +0100
Move environment resolution to FieldResolver, to avoid having fields API depend on tasks
commit 29a46195d64e987ba387f54b713523a4f13741ad
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Mar 9 13:56:03 2026 +0100
Take a DBTask instead of a WorkRequest to instantiate a DBFieldResolver
commit e697dab8626bf39afc06af5cf623fe4199e24eaf
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Mar 13 15:49:47 2026 +0000
Merge RunInParallelTransaction and RunInThreadAndCloseDBConnections
These did somewhat similar things, and on the whole
`RunInParallelTransaction` is more useful. I just added a one-shot
variant to it for convenience.
commit 6196e0f79128c54bea2a39a3235f1928670c6f77
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Mar 13 14:12:29 2026 +0000
delete_expired: Take much less aggressive locks
The `ACCESS EXCLUSIVE` table locks were here to avoid problems where
parallel transactions create new references to rows that are in the
process of being expired. However, taking those locks means that almost
nothing else in Debusine can do anything while expiry is running, which
caused serious operational problems.
We can avoid the new-references problem in a much gentler way: since
creating those new references would involve taking `FOR KEY SHARE` locks
on the referenced rows, we can explicitly take `FOR UPDATE` locks on the
rows that are being expired and rely on that lock mode conflicting with
`FOR KEY SHARE`. To ensure that expiry can run in most situations, we
skip rows that are already locked by another transaction. In the case
of artifacts, we must then recompute the set of artifacts to expire,
since keeping more artifacts than were initially marked to keep might
prevent the expiry of some additional artifacts due to relation chains.
Fixes: #473
commit 92b090e21e3149bc25a0913f94bd1de77cf0c94f
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Mar 13 11:24:04 2026 +0000
debusine.db.tests.utils: Use ThreadPoolExecutor in all cases
This means that any exception raised in the worker thread is re-raised
in the main thread, which can be useful for debugging.
Automatic checks made by the Debian l10n team found some issues with the translations contained in this package. You should check the l10n status report for more information.
Issues can be things such as missing translations, problematic translated strings, outdated PO files, unknown languages, etc.