commit fd0b5803dd42f56774412b38a56611530c34aa6a
Merge: 18af34c0c 1f8be8128
Author: Colin Watson <cjwatson@debian.org>
Date: Thu May 21 16:08:53 2026 +0000
autopkgtest: Add pin_packages parameter (MR !3065)
While this isn't ideally explicit in comparison to `context_artifacts`,
its fallback behaviour makes it the only way to achieve certain things.
The equivalent option is already being used by `debci`.
Fixes: #1301
Closes #1301
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3065
commit 1f8be8128d53d5349b7d7018d249cd9260c2c794
Author: Colin Watson <cjwatson@debian.org>
Date: Thu May 21 00:18:06 2026 +0100
autopkgtest: Add pin_packages parameter
While this isn't ideally explicit in comparison to `context_artifacts`,
its fallback behaviour makes it the only way to achieve certain things.
The equivalent option is already being used by `debci`.
Fixes: #1301
commit 18af34c0cabf8476cf549f39fd3c7f4877696073
Merge: 5fc66e010 3bfd708eb
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu May 21 14:24:16 2026 +0000
Autopkgtest view: fix error when opening an autopkgtest log too big to render (fixes #1369) (MR !3061)
Autopkgtest view: fix error when opening an autopkgtest log too big to render but not too big to parse
Closes #1369
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3061
commit 5fc66e010d34314c2b3f69d923f52344febd7141
Merge: 78d16e688 b50c16f4e
Author: Enrico Zini <enrico@debian.org>
Date: Thu May 21 13:49:41 2026 +0000
Lock down worker tokens (MR !3029)
This MR supersedes !2959, and should complete locking down worker tokens
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3029
commit b50c16f4e296d6ac76052a16b46acb82cc3d5856
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu May 21 09:34:38 2026 +0200
WorkRequest.can_display called by a work request can only display the work request itself
commit 78d16e68825ef027010dd93c28a553afa34f747a
Merge: a858dd218 0e30620f7
Author: Enrico Zini <enrico@debian.org>
Date: Thu May 21 12:11:16 2026 +0000
Lock down Workspace write methods when used for a work request. (MR !3033)
Work requests now cannot write outside their own workspace: this is especially relevant for things like CopyCollectionItems and PackagePublish
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3033
commit 0e30620f70b5f2a620877fc142cd64120e7e71d0
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue May 12 15:35:38 2026 +0200
Lock down Workspace write methods when used for a work request.
Work requests now cannot write outside their own workspace: this is
especially relevant for things like CopyCollectionItems and
PackagePublish
commit a858dd2188017bdbf614e192e433e5a71b89a722
Merge: fa87e71a7 c555fea1e
Author: Colin Watson <cjwatson@debian.org>
Date: Thu May 21 08:51:16 2026 +0000
debusine.web: Use @override where relevant (MR !3064)
Part of #1442.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3064
commit fa87e71a7226827addf6196e563ad4f74d80cbd8
Merge: 2415fa5e4 9fff0c3a5
Author: Colin Watson <cjwatson@debian.org>
Date: Wed May 20 23:46:04 2026 +0000
ruff: Enable most ANN rules (flake8-annotations) (MR !3051)
`mypy`'s strict mode apparently doesn't quite require all of these, but
we were so close to having complete type annotations that we should.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3051
commit c555fea1e1dea7c2edc9699419f472b486fafcb0
Author: Colin Watson <cjwatson@debian.org>
Date: Thu May 21 00:04:58 2026 +0100
debusine.web: Use @override where relevant
Part of #1442.
commit 9fff0c3a5e32fbd4a3b98471b02cf055b2111eaa
Author: Colin Watson <cjwatson@debian.org>
Date: Sun May 17 00:04:59 2026 +0100
ruff: Enable most ANN rules (flake8-annotations)
`mypy`'s strict mode apparently doesn't quite require all of these, but
we were so close to having complete type annotations that we should.
commit 2415fa5e4f7074583b280df5a51e6202004f8f89
Merge: 02c62eacf 73b607526
Author: Colin Watson <cjwatson@debian.org>
Date: Wed May 20 22:13:04 2026 +0000
package_publish: target_suite must be in the workflow's workspace (MR !3063)
We want to allow workflow templates to be a way for workspace owners to
delegate limited permissions to other users. This didn't work for
`package_publish`, because it allowed writing to any workspace that the
creating user could see. Restricting it to the same workspace allows us
to have a more reasonable model here.
Cross-workspace copies must now be initiated using a workflow in the
target workspace.
I decided to leave the underlying server task unchanged (except for Enrico's test changes, which make those tests more realistic), since in general it's the job of workflows to control permission policy and then pass reasonable parameters to their underlying tasks.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3063
commit 73b6075268dc2008cd8abb4942ba9aa5c86bccf5
Author: Colin Watson <cjwatson@debian.org>
Date: Wed May 20 20:47:13 2026 +0100
package_publish: target_suite must be in the workflow's workspace
We want to allow workflow templates to be a way for workspace owners to
delegate limited permissions to other users. This didn't work for
`package_publish`, because it allowed writing to any workspace that the
creating user could see. Restricting it to the same workspace allows us
to have a more reasonable model here.
Cross-workspace copies must now be initiated using a workflow in the
target workspace.
commit d9d7e2ff5e14e4dd5d76553aa8c9cc2218126248
Author: Colin Watson <cjwatson@debian.org>
Date: Wed May 20 20:34:47 2026 +0100
package_publish: Fix lookup of build logs and task history
We can reasonably expect to find these in the same workspace as the
binary artifacts, which may not be the workspace where this workflow is
being run.
Co-authored-by: Enrico Zini <enrico@enricozini.org>
commit 3435f13925f333807c11f4712dd952c7868af1e5
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed May 13 18:34:39 2026 +0200
Changed tests of CopyCollectionItems to use the WorkRequest workspace as the target
commit 02c62eacfde90e6f33f745a3ced9ca0cddf090a5
Merge: 2752d873c 8722a2a77
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 20 15:06:25 2026 +0000
Scenario PackageBuildLog: make autopkgtest_log consistent (MR !3062)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3062
commit 8722a2a77fa92f659ba07eb050df088623d3e9dd
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 20 13:34:31 2026 +0100
Scenario PackageBuildLog: make autopkgtest_log consistent
commit 2752d873cf447294d855c82db5212d9bdf3a6ee0
Merge: 7e3b1bb7f 78a049c64
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 20 11:39:18 2026 +0000
Suite relationships collection details configuration (related #1271) (MR !3019)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3019
commit 7e3b1bb7f3a8369f4c929e54e943de36830a6091
Merge: 397d2561e 45225d0f7
Author: Colin Watson <cjwatson@debian.org>
Date: Wed May 20 11:21:56 2026 +0000
debusine.server.file_backend: Use @override where relevant (MR !3060)
Part of #1442.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3060
commit 3bfd708ebf439ca435b2f0f2ecf6414bb3eee273
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 20 10:17:17 2026 +0100
Autopkgtest view: fix error when opening an autopkgtest log too big to render but not too big to parse
AutopkgtestArtifactPlugin.get_context_data: use FileWidget.create() to get the widget that will render the file. It might return a LogFileWidget or a TooBigFileWidget
commit 397d2561e1819d557f115f56e062e57274cbb6e9
Merge: 0e056aadc 157859227
Author: Colin Watson <cjwatson@debian.org>
Date: Wed May 20 09:28:59 2026 +0000
Make lookup reconstruction more stable (MR !3058)
Store the lookup that produced a result in the result. If it is a
single lookup, then use this when asked to reconstruct a lookup, rather
than coming up with something similar but not necessarily identical.
This is useful as part of #1415.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3058
commit 45225d0f7ecdbdc0f913ad2f5491255a389cd954
Author: Colin Watson <cjwatson@debian.org>
Date: Wed May 20 10:25:06 2026 +0100
debusine.server.file_backend: Use @override where relevant
Part of #1442.
commit 0e056aadca3d5802fba2d77623b034d2d7e0211b
Merge: a3fd0b0f3 08390da17
Author: Colin Watson <cjwatson@debian.org>
Date: Wed May 20 09:08:31 2026 +0000
Stop some task model components inheriting from `BaseTaskData` (MR !3055)
This avoids them ending up with an unexpected `task_configuration`
member.
I checked Freexian's instances and found no rows that would be affected
by this, so I don't think it's worth documenting the fix specifically in
the release notes.
Fixes: #1463
Closes #1463
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3055
commit a3fd0b0f3a8d2bd3d9b79c23d7a1eedb63c5a33d
Merge: 97298681d 4d460aa3e
Author: Colin Watson <cjwatson@debian.org>
Date: Wed May 20 09:08:19 2026 +0000
debusine.web.views: Use @override where relevant (MR !3059)
Part of #1442.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3059
commit 97298681d9dc586914fc9762aff042981dd9bbc6
Merge: b1e865a71 90670e1b9
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 20 07:42:24 2026 +0000
CollectionRelations server API view with `source` and `type`: add ETag/If-Match support. use in edits (related #1271) (MR !3017)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3017
commit 90670e1b976ba442dcb29f6c3f78b15eee16e49f
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 20 07:42:24 2026 +0000
CollectionRelations server API view with `source` and `type`: add ETag/If-Match support. use in edits
commit 4d460aa3eaae730cfe6fdca57c198b76ae3184c4
Author: Colin Watson <cjwatson@debian.org>
Date: Tue May 19 14:54:36 2026 +0100
debusine.web.views: Use @override where relevant
Part of #1442.
commit b1e865a7197c8c1c3d90604c4eaad34a7543a6b9
Merge: 689d8a814 ba09f5936
Author: Colin Watson <cjwatson@debian.org>
Date: Tue May 19 13:02:26 2026 +0000
ruff: Add rule B007 and rework some loops (MR !3056)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3056
commit 689d8a814ab15763688b90f18a1d98414c8b02ec
Merge: 6a0159cc6 acc859609
Author: Colin Watson <cjwatson@debian.org>
Date: Tue May 19 12:50:01 2026 +0000
Drop host_architecture from open-metrics (MR !3057)
The host_architecture label was renamed to build_architecture quite a
while back. It was left for backwards-compatibility, but now causes
accidental O(n^2) due to zero-filling missing spots. Consumers have been
updated. Drop it.
Addresses: #1472
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3057
commit 1578592270a7f92e956d20ff176edfffcb315356
Author: Colin Watson <cjwatson@debian.org>
Date: Tue May 19 13:04:55 2026 +0100
Make lookup reconstruction more stable
Store the lookup that produced a result in the result. If it is a
single lookup, then use this when asked to reconstruct a lookup, rather
than coming up with something similar but not necessarily identical.
This is useful as part of #1415.
commit acc859609c4736eabdd117c587875bf588657a65
Author: Helmut Grohne <helmut@freexian.com>
Date: Tue May 19 13:04:33 2026 +0200
Document the dropping of host_architecture from open-metrics
commit 3af692c4c98448e534fe8afc7ddcc225bc44ac2f
Author: Helmut Grohne <helmut@freexian.com>
Date: Tue May 19 12:59:20 2026 +0200
Drop host_architecture from open-metrics
The host_architecture label was renamed to build_architecture quite a
while back. It was left for backwards-compatibility, but now causes
accidental O(n^2) due to zero-filling missing spots. Consumers have been
updated. Drop it.
Addresses: #1472
commit 6a0159cc644df4e8d8c719ffebaf61cb25e4e320
Merge: 367f6d01a beb5e0df2
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue May 19 06:32:00 2026 +0000
Add "required-suites" in the apt configuration of a suite (related #1271) (MR !3035)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3035
commit beb5e0df24772175d3fd8f206de2d7e738017aa3
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 13 11:29:30 2026 +0100
Add "required-suites" in the APT configuration of a suite
commit ba09f5936e043391fb46abe0cc39f8e4e5f642bf
Author: Nikil Paul <snikilpaul@gmail.com>
Date: Mon May 18 19:27:10 2026 +0530
Fix incorrect unused-variable cleanups
commit 367f6d01a117fc13c40fa310ecf9ce4604b2f2fd
Merge: 642640cb9 8d823f1c7
Author: Colin Watson <cjwatson@debian.org>
Date: Mon May 18 13:42:36 2026 +0000
Enable the djLint linter (MR !3052)
Like `ruff`, `djlint` has separate formatting and linting modes, and the
formatter on its own doesn't catch everything. This noticed a few
things that I think were minor bugs, notably some missing close tags.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3052
commit 642640cb9332035e312ef230ebdc8a2b602e4067
Merge: a20a6e014 425986c70
Author: Colin Watson <cjwatson@debian.org>
Date: Mon May 18 13:42:22 2026 +0000
ruff: Enable UP031 (printf-string-formatting) (MR !3050)
We were pretty close to this already, so let's use f-strings
consistently.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3050
commit a20a6e014ca95da11bab6a905370f921b8e0c5ac
Merge: 903c2cdba b98c82a55
Author: Colin Watson <cjwatson@debian.org>
Date: Mon May 18 13:42:09 2026 +0000
debusine.server.collections: Use @override where relevant (MR !3049)
Part of #1442.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3049
commit 0ad0e542c41be95df4d22525247a6c2f71c83030
Author: Nikil Paul S <snikilpaul@gmail.com>
Date: Mon May 18 15:09:14 2026 +0530
added rule B007 and reworked some loops
commit 08390da17b0b39ea932284f972bc67ff4f948304
Author: Colin Watson <cjwatson@debian.org>
Date: Mon May 18 13:37:43 2026 +0100
Stop some task model components inheriting from `BaseTaskData`
This avoids them ending up with an unexpected `task_configuration`
member.
I checked Freexian's instances and found no rows that would be affected
by this, so I don't think it's worth documenting the fix specifically in
the release notes.
Fixes: #1463
commit 903c2cdba0be3d82663deae96743369c1b4aed07
Merge: 681394324 f7fdca5f8
Author: Colin Watson <cjwatson@debian.org>
Date: Mon May 18 11:20:40 2026 +0000
tasks: ensure cleanup is run even when they fail early (MR !3053)
fetch_input() and configure_for_execution() were not protected
by the try/finally clause that ensures that the cleanup
is run when something bad happens.
Fixes #1469
Closes #1469
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3053
commit 681394324f939ff8aa63b9194b577ed2ea7ce4af
Merge: 1e249e406 f846dc8ab
Author: Colin Watson <cjwatson@debian.org>
Date: Mon May 18 10:49:07 2026 +0000
mypy: centralize fasteners missing imports ignore (MR !3054)
Saw this in the wild and changed this remembering the advice from https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2968#note_749087.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3054
commit f846dc8abb40000c26efc10dbcdac17ce83a0c25
Author: Nikil Paul S <snikilpaul@gmail.com>
Date: Mon May 18 15:17:57 2026 +0530
mypy: centralize fasteners missing imports ignore
commit f7fdca5f88e5761cdb338696afe450315f539a88
Author: Raphaël Hertzog <raphael@freexian.com>
Date: Sun May 17 11:39:51 2026 +0000
tasks: ensure cleanup is run even when they fail early
fetch_input() and configure_for_execution() were not protected
by the try/finally clause that ensures that the cleanup
is run when something bad happens.
Fixes #1469
commit 8d823f1c78220542fb1d0877cfc76176056d58f5
Author: Colin Watson <cjwatson@debian.org>
Date: Sun May 17 00:37:55 2026 +0100
Enable the djLint linter
Like `ruff`, `djlint` has separate formatting and linting modes, and the
formatter on its own doesn't catch everything. This noticed a few
things that I think were minor bugs, notably some missing close tags.
commit 1e249e406cf162db9a322cc8b8531aaac46c6b7c
Merge: a8fa3cd5f 815e9646e
Author: Colin Watson <cjwatson@debian.org>
Date: Sat May 16 23:03:06 2026 +0000
Lintian: Treat exit codes other than 0 and 2 as errors (MR !3047)
Fixes: #1454
Closes #1454
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3047
commit a8fa3cd5fc7a9943327caedc16bb3d2a66eb9e19
Merge: 1df309ff1 fa0bfb7a9
Author: Colin Watson <cjwatson@debian.org>
Date: Sat May 16 22:57:35 2026 +0000
ruff: Enable RUF005 (collection-literal-concatenation) (MR !3045)
I tend to agree with `ruff` that this is a bit more readable in most
cases.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3045
commit 425986c70d68e441ab3a03d6009562f20b75554f
Author: Colin Watson <cjwatson@debian.org>
Date: Sat May 16 23:38:09 2026 +0100
ruff: Enable UP031 (printf-string-formatting)
We were pretty close to this already, so let's use f-strings
consistently.
commit b98c82a55192b96b08199961120b528a91c303d7
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 8 11:38:44 2026 +0100
debusine.server.collections: Use @override where relevant
Part of #1442.
commit 1df309ff182fed98e6b4bbe7d3bcceffb4a9dc79
Merge: 49fd94f33 0ca91ca92
Author: Colin Watson <cjwatson@debian.org>
Date: Sat May 16 22:27:33 2026 +0000
Allow workspace-qualified lookups to refer to unrelated workspaces (MR !3039)
Since lookups by artifact or collection ID may refer to any visible
artifact, there isn't much reason to restrict workspace-qualified
lookups to the initial workspace's inheritance chain. Lifting this
restriction makes some things easier, particularly sorting out the
`package_publish` workflow's permissions.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3039
commit 815e9646e84bf7a795d80039448548f638e1cda9
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 15 13:59:23 2026 +0100
Lintian: Treat exit codes other than 0 and 2 as errors
Fixes: #1454
commit 49fd94f339d58c1de6daee870ad3b3a513758cc3
Merge: 160c5b38f e019fb5e4
Author: Colin Watson <cjwatson@debian.org>
Date: Sat May 16 22:22:41 2026 +0000
Consolidate mypy overrides into a single section (MR !3043)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3043
commit fa0bfb7a9f51a78dbcad6c019e59ff7278c5ffd2
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 15 10:59:36 2026 +0100
ruff: Enable RUF005 (collection-literal-concatenation)
I tend to agree with `ruff` that this is a bit more readable in most
cases.
commit 160c5b38fcd7bdf75b7ec2ff330cf5dc549edd51
Merge: ce28d72f5 1234a20ad
Author: Colin Watson <cjwatson@debian.org>
Date: Sat May 16 22:21:22 2026 +0000
ruff: Enable RUF010 (explicit-f-string-type-conversion) (MR !3044)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3044
commit 1234a20ad739965b034b660d63aed32da6ee8799
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 15 10:43:16 2026 +0100
ruff: Enable RUF010 (explicit-f-string-type-conversion)
commit e019fb5e4b2c68bbd89d16a65de6b9b38b9a5181
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 15 10:29:14 2026 +0100
Consolidate mypy overrides into a single section
commit ce28d72f54588e26e2db0dba132cc428a704a865
Merge: 149e9f938 0c75b58c0
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 15 09:25:07 2026 +0000
Enable Ruff UP007, UP037, and UP045 (MR !3042)
This MR enables Ruff’s modern typing upgrade rules (`UP007`, `UP037`, and `UP045`) and updates the affected annotations to use modern Python typing syntax compatible with the project’s Python 3.13+ requirement.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3042
commit 0c75b58c0fd9c0d9680d61294b217bbf8d2cf84d
Author: Nikil Paul S <snikilpaul@gmail.com>
Date: Fri May 15 06:24:01 2026 +0000
Remove UP007 and UP045
commit 318201c161d619bea11d8959bba82041f1d9086c
Author: Nikil Paul S <snikilpaul@gmail.com>
Date: Fri May 15 06:08:55 2026 +0000
Remove UP037
commit 0ca91ca92a6fa0f4fc0859b5dbbcb3117932d231
Author: Colin Watson <cjwatson@debian.org>
Date: Thu May 14 17:24:58 2026 +0100
Allow workspace-qualified lookups to refer to unrelated workspaces
Since lookups by artifact or collection ID may refer to any visible
artifact, there isn't much reason to restrict workspace-qualified
lookups to the initial workspace's inheritance chain. Lifting this
restriction makes some things easier, particularly sorting out the
`package_publish` workflow's permissions.
commit 149e9f9386d12e687830e6e95c4264853c0f2bba
Merge: 0e9a32094 cd7ebffb8
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu May 14 13:26:36 2026 +0000
debusine.client: workspace inheritance: refactor YAML edit/apply error handling (related: #1271) (MR !3023)
collection relation: print the new relation after setting it with the editor
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3023
commit cd7ebffb8544ae806d2d638e358948e51c0487eb
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu May 7 15:48:32 2026 +0100
debusine.client: workspace inheritance: refactor YAML edit/apply error handling
collection relation: print the new relation after setting it with the editor
commit 78a049c645bf14471523a6313c91b72b6053fd2c
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu May 14 13:36:23 2026 +0100
CollectionRelationCreateForm: sort fields
commit 62259eba5a96329b5bc1a2e24128572b8488ddc3
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 13 16:58:20 2026 +0100
CollectionRelationCreateForm: show only relation types with available targets
The form listbox of relation types was showing the types based on the
cardinality (used or not used). Refactor code so the calculated, in the view,
available target collections per type is also used by the form.
Fixes always displaying the "requires" type, re-use code calculating the types
that are available in the view and the form.
commit 0e9a32094a49d61963470876a6a054447c460ce3
Merge: 1e60cf9a9 5aa21bae5
Author: Colin Watson <cjwatson@debian.org>
Date: Thu May 14 10:42:48 2026 +0000
Enforce work request specific Artifact permissions (MR !3034)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3034
commit 5aa21bae507fbf213d6533257549f8f8210ae09b
Author: Colin Watson <cjwatson@debian.org>
Date: Thu May 14 11:11:27 2026 +0100
Add news fragment
commit fa0830b4ea2f667a902a8cb0e2d9a3d1eab5a616
Author: Colin Watson <cjwatson@debian.org>
Date: Thu May 14 11:09:40 2026 +0100
Retroactively add news fragment for !3032
commit bdb017acd2b6e8eadfcb7051d93afd91b000a92d
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue May 12 17:13:05 2026 +0200
Enforce work request specific Artifact permissions
commit 1e60cf9a93d662aeb2fac594070182c1b7183ffa
Merge: 30ed86a1e 48d6bd3b7
Author: Enrico Zini <enrico@debian.org>
Date: Wed May 13 20:28:55 2026 +0000
Disallow worker tokens, allow work request tokens (MR !3032)
This partly supersedes !2959
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3032
commit 48d6bd3b78140144db4a0729c1facee05d88cc80
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed May 13 18:59:09 2026 +0200
Removed unneeded permissions
commit 89fd23496c7e3d20cdf714e06c68776d8bba4aab
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 6 14:24:08 2026 +0100
collection_relation-create.html: show message if none can be created
commit 4926c66e2d5b5ac855a559e3b211fa1a38560767
Author: Carles Pina i Estany <carles@pina.cat>
Date: Wed May 6 11:10:51 2026 +0100
collection-detail.html: add button to "Configure relations"
commit 30ed86a1e40ef20ddd26b7c6344aba2337f4a1de
Merge: 5acc426ca 05d55b01b
Author: Colin Watson <cjwatson@debian.org>
Date: Tue May 12 19:25:49 2026 +0000
Further optimize join strategies in workflow tables (MR !3031)
Django's `__in` lookup operator clears the ordering from subqueries "if
the query allows that without side effects". Adding `DISTINCT ON` to
the subquery is the simplest way to suppress that, and means that the
optimization I attempted in c361ffc60abe8e677965c6c207f3374064ef912d is
actually effective.
Part of #1206.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3031
commit c666f781d40d45f8882a9e5390b5dd31a47dbfe7
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue May 12 14:02:52 2026 +0200
Remove Allow.ALWAYS
commit 4ccecbf9f6a7bc391da48c5b955acdc65dd57e0c
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue May 12 13:07:58 2026 +0200
Disallow worker tokens in favour of work request tokens
commit 05d55b01b565df8f6b249340acf2579e00a48fbc
Author: Colin Watson <cjwatson@debian.org>
Date: Tue May 12 13:03:14 2026 +0100
Further optimize join strategies in workflow tables
Django's `__in` lookup operator clears the ordering from subqueries "if
the query allows that without side effects". Adding `DISTINCT ON` to
the subquery is the simplest way to suppress that, and means that the
optimization I attempted in c361ffc60abe8e677965c6c207f3374064ef912d is
actually effective.
Part of #1206.
commit 5acc426ca5964ddce247e8a2baef91eb158ab088
Merge: d8c865b88 cc2ee660d
Author: Enrico Zini <enrico@debian.org>
Date: Mon May 11 19:29:05 2026 +0000
Restructure PermissionContext to match the elements currently used for authorization (MR !3028)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3028
commit d8c865b8873d2f87a3846b0f4f6258037fa57875
Merge: 79cfa9b74 ee459ae1a
Author: Enrico Zini <enrico@debian.org>
Date: Mon May 11 18:48:17 2026 +0000
Pass PermissionContext instead of PermissionUser to permission predicates (MR !3015)
This MR includes Colin's !3003 as GitLab doesn't support building on top of it.
This is as much as possible a bare refactoring of the status quo, intended to be a base from which to actual start implementing intended changes.
For simplicity it restores the fact that permission predicates may need to deal with user being `None`. The relevant assertions are easy to grep, and my intention is to think through them for furhter consolidation after this perspective shift
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3015
commit cc2ee660d022c5c4b18e8f2961d71128f9186e45
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon May 11 20:47:22 2026 +0200
Added overloads for PermissionContext.for_work_request
commit 443aa6d2fd0b471d8e214332b37a55535c9f97c7
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon May 11 14:25:13 2026 +0200
Simplify code now that we have pc.work_request
commit 5b8ebd6e8a0918dc4f48ccee0cab724218120a4a
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon May 11 14:17:08 2026 +0200
Remove bits that dealt with pc.user possibly being None
commit a0529c8341bc882c294eb29005bf25b2a1518bcd
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri May 8 10:06:49 2026 +0200
Use unified use-specific methods to set up context. context.user now is never None
commit d7e5869b3879b202c1de4ef2d6dc3c0a4aeb99db
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed May 6 11:13:27 2026 +0200
Make the application context contain a PermissionContext instead of being it
commit 79cfa9b744c6a243506544db2540d1b91e7b59d7
Merge: 0c9a893d4 6e9e2aad7
Author: Colin Watson <cjwatson@debian.org>
Date: Mon May 11 15:59:15 2026 +0000
Fix stuck workers when failing to mark work requests as completed (MR !3027)
This is a bit fiddly because the transaction may have been aborted, so
we need to take care to do the retry in a separate transaction.
Fixes: #1462
Closes #1462
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3027
commit ee459ae1ad782c5164109ff2bd9dfb59c772903d
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed May 6 10:41:04 2026 +0200
Document token types
commit fde442ebb8262c5221df8d8892540ac2f8f91181
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed May 6 10:06:11 2026 +0200
Use request.user instead of context.user in views
commit 18f7ade1aaf6aff7d400dfed9c3a55f3324192f9
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue May 5 10:48:29 2026 +0200
Refactored permission predicates passing a self-contained RequestContext instead of a mix of a user and token info from the application context
commit 639bf37bd28a89b86f283600886e252129a4fb13
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon May 4 17:35:15 2026 +0200
Moved PermissionUser to debusine.db.permissioncontext, and add a PermissionContext
commit 6e9e2aad7f4456c1f5ca1d19c3c0cbf59e9de210
Author: Colin Watson <cjwatson@debian.org>
Date: Mon May 11 12:23:36 2026 +0100
Fix stuck workers when failing to mark work requests as completed
This is a bit fiddly because the transaction may have been aborted, so
we need to take care to do the retry in a separate transaction.
Fixes: #1462
commit 0c9a893d4526fb7e3d8e1eda872542d5b7b8ca76
Merge: cb24f5695 d6971b4f1
Author: Colin Watson <cjwatson@debian.org>
Date: Sun May 10 13:51:37 2026 +0000
Update the total size of file stores via a journal table (MR !3024)
This means that transactions don't block on other transactions that are
adding files to the same store.
Fixes: #1459
Closes #1459
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3024
commit cb24f569533e99686643827e2504db71f3f2f1b9
Merge: e639b51e3 e0a651b4f
Author: Colin Watson <cjwatson@debian.org>
Date: Sun May 10 13:50:57 2026 +0000
vacuum_storage: Reduce database queries performed during full scans (MR !3026)
I happened to notice that the method to get entries for all files in the
database makes one query per file, and that this could be easily
avoided. `debusine-admin vacuum_storage` calls this method twice per
store, so this should be a substantial saving for large stores.
Part of #724.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3026
commit e639b51e32438fcf5c6963aed83068b13c8051d3
Merge: f613fc7db 150971b16
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri May 8 14:00:20 2026 +0000
Handle race in task statistics collection in unshare backend. (MR !3020)
The other implementation (only `incus` implements it) looks like it already handles this kind of problem. And has a test to cover that already.
So, I think the right thing to do is not add a general exception swallower, but simply fix the bug.
Fixes: #1458
Closes #1458
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3020
commit 150971b16124250a801ad90828520c1617277ab5
Author: Stefano Rivera <stefano@freexian.com>
Date: Wed May 6 17:50:41 2026 -0400
Handle race in task statistics collection in unshare backend.
Fixes: #1458
commit e0a651b4f06506c44203b536d03d18a6e55cd56f
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 8 13:42:25 2026 +0100
vacuum_storage: Reduce database queries performed during full scans
I happened to notice that the method to get entries for all files in the
database makes one query per file, and that this could be easily
avoided. `debusine-admin vacuum_storage` calls this method twice per
store, so this should be a substantial saving for large stores.
Part of #724.
commit f613fc7db15287667b14d7bd0847963c43064a72
Merge: 72bc3b66b 513da01d7
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 8 09:46:21 2026 +0000
pre-commit: Upgrade to ruff 0.15.12 (MR !3025)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3025
commit 72bc3b66b1e0c9ea05d7e49c0c3f005c3f37572d
Merge: 09c7bc54d 52db675db
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 8 09:45:10 2026 +0000
Set user token in context (MR !3003)
Part of #1392, since that will introduce more cases where we need to
inspect tokens in permission predicates.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3003
commit 513da01d792b86efe1a368c6d8255365fe63e8b7
Author: Colin Watson <cjwatson@debian.org>
Date: Fri May 8 02:13:59 2026 +0100
pre-commit: Upgrade to ruff 0.15.12
commit d6971b4f1e1ec707e8a1c309da9b459ec2e8392e
Author: Colin Watson <cjwatson@debian.org>
Date: Thu May 7 18:20:51 2026 +0100
Update the total size of file stores via a journal table
This means that transactions don't block on other transactions that are
adding files to the same store.
Fixes: #1459
commit 09c7bc54d98e8a4e92f640e7d9e6f2974fcc1be0
Merge: 74cc5666c 1907526cc
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu May 7 13:31:54 2026 +0000
Suite relationships client (MR !2996)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2996
commit 74cc5666cf341da2d5bc18b9c5f6d04432758fe2
Merge: fc3d42c6d af3a02d49
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu May 7 13:30:32 2026 +0000
Quote workspace workflow template name path (MR !3022)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3022
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.