commit db8ce2644cad92dc1e35d5983d3dd3c547b4b548
Merge: 793bbff61 f3c4198d4
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 16 12:22:50 2026 +0000
Rework how blhc workflow finds build logs (#1142) (MR !2719)
The way we were passing build log artifacts directly to the `blhc` workflow was incorrect when running reference tests for regression tracking. Instead, pass `binary_artifacts` to `blhc` in the same way as other sub-workflows of `qa`, and find the build logs via relations.
This requires waiting for the binary artifacts to exist before populating the `blhc` sub-workflow.
Fixes: #1142
Closes #1142
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2719
commit f3c4198d4d083b10a04520ff5537e0d7808c649d
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Feb 15 12:01:47 2026 +0000
qa: Pass binary_artifacts to blhc
This requires waiting for the binary artifacts to exist before
populating the `blhc` sub-workflow, in order that it can find the
corresponding build logs using relations.
Fixes: #1142
commit ae108be1a6cc9baed172415f0f206f3afe441c23
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 13 15:06:27 2026 +0000
blhc workflow: Accept binary_artifacts
commit d4041b03f02fa09d604a30b704a1a6bc9c995234
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 13 14:38:15 2026 +0000
Create relation between build log and upload
commit 793bbff61a1b0c5ea0acd4d22e1f211b8fe6f299
Merge: 62d83eec2 245dd2cdf
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Feb 15 12:47:26 2026 +0000
Build-depend on python3-pyparsing if !nodoc (MR !2718)
This is needed when running `autopkgtest` in its unbuilt-tree mode (see
87faeeaa9a31a43632ec348e2f2051135d124a8c).
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2718
commit 62d83eec235ffdabc7535f5ed962a28a8aae1c05
Merge: aaca23b98 b71bdbe17
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Feb 15 12:38:47 2026 +0000
Automatically create an AssetUsage for `debusine asset create` (MR !2709)
This is useful for assets that have roles that may be implied by other
roles, similar to the existing `REPOSITORY_SIGNER` which is implicitly
granted to workspace owners (although that particular case is already
handled by the `update_suites` workflow automatically creating an
`AssetUsage` row in a similar way).
Part of #1313.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2709
commit 245dd2cdfb4b27c3de2c048507687ef3cf405ee9
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Feb 15 12:04:21 2026 +0000
Build-depend on python3-pyparsing if !nodoc
This is needed when running `autopkgtest` in its unbuilt-tree mode (see
87faeeaa9a31a43632ec348e2f2051135d124a8c).
commit aaca23b98bacb72cea7a16401bd249dbc45690c8
Merge: d442d724b a2f188304
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 13 10:51:24 2026 +0000
ui: show aborting user on aborted work request status (MR !2678)
when a work request is actively aborted by a user, this information is already stored in `aborted_by_id` but not surfaced in the web UI.
This change adds a tooltip to the “Aborted” status badge showing the aborting user when available, without altering layout or backend behavior.
Closes #1228.
Closes #1228
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2678
commit d442d724b3f090b007349d511545f6eed9df8364
Merge: b432a7993 7f269ac59
Author: Carles Pina i Estany <carles@pina.cat>
Date: Fri Feb 13 06:22:00 2026 +0000
DebDiff task: add "label" to the DebDiffArtifact and set it to DebDiff parameter_summary (fixes #1177) (MR !2710)
Used to shorten excessively long titles of the DebDiffArtifact.
Closes #1177
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2710
commit 7f269ac59e49cdbf5d735632f0363ee91eaa946e
Author: Carles Pina i Estany <carles@pina.cat>
Date: Fri Feb 13 06:22:00 2026 +0000
DebDiff task: add "label" to the DebDiffArtifact and set it to DebDiff parameter_summary
Used to shorten excessively long titles of the DebDiffArtifact.
commit a2f188304c46ba0436843df7f0795a544f1d3bc2
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Fri Feb 13 00:55:28 2026 +0000
news: add fragment for aborted_by status tooltip (Closes: #1228)
commit b432a7993d9aa2130aa1beb91a418682e2450b19
Merge: b6e1a49af f1a67d26e
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 12 19:15:02 2026 +0000
Improve test coverage of account templates (MR !2715)
Part of #1297. This also caught an HTML syntax error.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2715
commit b6e1a49af212307ab56bf500a13981d848fcffae
Merge: d819a3ad7 3fadda743
Author: Stefano Rivera <stefanor@debian.org>
Date: Thu Feb 12 17:09:19 2026 +0000
Run instance termination and task reassignment in atomic contexts (MR !2714)
In the hope that we've seen a transactional race.
And consider PENDING tasks to make a worker non-idle.
Fixes: #1315
Closes #1315
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2714
commit 3fadda7438e63d5a65b387450957b1e174575fef
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Feb 12 11:17:23 2026 -0400
Run instance termination and task reassignment in atomic contexts
In the hope that we've seen a transactional race.
commit 9638c0bba22894263afb24ce78c28f0c422214b8
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Feb 12 11:06:49 2026 -0400
Assert equality, or the test is pointless
commit f92dad15ca88324350d1626bf714c2135e16e5f2
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Feb 12 11:04:33 2026 -0400
Consider a worker to not be idle if it has a pending task.
commit d819a3ad7602eb9265a6f8c06b2ea762bd4c560d
Merge: 94b80cc7c 52b0163b9
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Feb 12 16:31:10 2026 +0000
Rename "file_contents" to "formatted_content" (MR !2711)
This CSS class is used to show formatted_content that is not necessarily
coming from a file
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2711
commit 52b0163b9a5c129f0e1586fc021eea1a996597f6
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Feb 9 12:19:35 2026 +0100
Rename "file_contents" to "formatted_content"
This CSS class is used to show formatted_content that is not necessarily
coming from a file
commit 94b80cc7cbf6de4c6a39094a77c3b4067d5b78a6
Merge: d6474e3bf ec7405353
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Feb 12 15:31:02 2026 +0000
Rename view_utils.format_yaml/format_json to highlight_as_yaml/highlight_as_json (MR !2713)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2713
commit ec7405353c79f3a792e221e29ce22d475fc210d8
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Feb 12 15:31:02 2026 +0000
Rename view_utils.format_yaml/format_json to highlight_as_yaml/highlight_as_json
commit f1a67d26e4b75463d19db48f3229e477279af4bc
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 12 15:26:48 2026 +0000
Improve test coverage of account templates
Part of #1297. This also caught an HTML syntax error.
commit d6474e3bf18610a28cd64af175a7514b27cadd21
Merge: 01feba5a1 c2f49c6b2
Author: Enrico Zini <enrico@debian.org>
Date: Thu Feb 12 14:43:01 2026 +0000
Lay the groundwork for tag-based scheduling and add worker tags (#326) (MR !2688)
This defines worker tags and adds them to worker-provided tagsets and task-required tagsets.
Scheduling can be tested, but it's off by default otherwise we break scheduling on not updated workers.
Once this is fully deployed on workers, we can use tags for scheduling, drop the equivalent information from task metadata, and likely drop `can_run_on`
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2688
commit 01feba5a13c90e1bf0ec4108e7235dedd80915e6
Merge: 1ef132d0b a2198b3ca
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 12 12:45:44 2026 +0000
cli: hide deprecated subcommands from --help (MR !2689)
Fixes #1267
Hide deprecated subcommands from the CLI help output by suppressing their help text, while keeping them callable for backwards compatibility.
This improves usability and prevents shell completion from suggesting deprecated commands.
Closes #1267
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2689
commit 1ef132d0b70a98a03653e8be08bd2d5b6ce54699
Merge: 81b3158b0 973375084
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 12 12:16:33 2026 +0000
APTMirror: Handle bzip2-compressed indexes (MR !2712)
This is needed for translations, which (for some reason) Debian only
publishes in this format.
Fixes: #1314
Closes #1314
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2712
commit a2198b3ca68b25367f48c470ea039dbb907e7168
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 12 12:05:27 2026 +0000
Add news fragment
commit c2f49c6b214f632e21d5c411330c688d2e2aa94c
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Feb 12 12:57:12 2026 +0100
Do not just provide worker:cap: tags: require them, too
commit 973375084c21f9c13953ee63bbd6c5b4c51411a3
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 12 11:42:54 2026 +0000
APTMirror: Handle bzip2-compressed indexes
This is needed for translations, which (for some reason) Debian only
publishes in this format.
Fixes: #1314
commit 81b3158b0535b4ac47b846defc6b7f694fea1dd3
Merge: e03a64f81 9ad51068f
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Feb 12 06:35:05 2026 +0000
Fix inline style attribute in file log template, improve tests (MR !2701)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2701
commit 5aa88efa68fd7d8d0dbdd7369b8a3dcbbe978963
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Wed Feb 11 17:16:15 2026 +0000
cli: hide deprecated subcommands from completion mode
Skip registration of deprecated commands when _ARGCOMPLETE is set,
so they are excluded from shell completion suggestions
Keep them visible in --help and callable normally.
Add tests to validate completion-specific behavior.
commit b71bdbe17f4a2c3b74c429745b42ac43b0ab7bee
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 11 16:13:32 2026 +0000
Automatically create an AssetUsage for `debusine asset create`
This is useful for assets that have roles that may be implied by other
roles, similar to the existing `REPOSITORY_SIGNER` which is implicitly
granted to workspace owners (although that particular case is already
handled by the `update_suites` workflow automatically creating an
`AssetUsage` row in a similar way).
Part of #1313.
commit 539af5233669b2889b953be210e139b692ba9424
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Feb 11 13:12:36 2026 +0100
Enable packrat parsing to avoid serious performance issues on several nested parentheses
commit 2f526310dcf3f0cf2dc156b50dde7c864754948c
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Feb 11 09:38:47 2026 +0100
Use Python's ast instead of a custom one
commit 964b38b9a39a574d840a6fc955ec78557be7afb7
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 10 17:21:24 2026 +0000
Rewrite derivation rule parsing using pyparsing
commit 2bdca0f58081b932aa53ecd7343af1f81462d1a1
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Feb 10 17:55:58 2026 +0100
Require executor backend in tags
commit 60d5f3a91feab19ee6372fb5414e9b53a10fae64
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Feb 10 16:58:51 2026 +0100
Added missing GenerateKey version
commit 005b0710e04273d32bd9aa50799a72e05f04045c
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Feb 10 16:05:59 2026 +0100
Add a custom parser for tag derivation expressions
commit f68d3c7b3e96050471f08015916adb5f09333330
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Feb 5 13:05:16 2026 +0100
Disable using tags for scheduling for now
commit 259aed469cdec3628ecea317c46d2e4568ec8d1d
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Feb 5 12:44:45 2026 +0100
Show scheduler tags in web UI
commit d586e312083225d30cb089f80e2cc35170f7ebdc
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Feb 5 12:31:59 2026 +0100
Show scheduler tags in API and CLI client
commit 144219e024c493e1b0c9fded41463a8d36f0cd40
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Feb 5 11:56:31 2026 +0100
Add worker-provided/task-required tag restrictions
commit 9c6758200140bf909bc3516780585a3a2d8e476d
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Feb 4 18:55:19 2026 +0100
Add worker-provided and task-required tags, and test using them for scheduling
commit 0c0e178a215b0047913941bf7f3b0f956ed8c11e
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Feb 4 18:17:48 2026 +0100
Refactored applying task configuration to make space for computing scheduler tag sets
commit 2cb68f29e05cacbc17ceb6f2ccfd60e673e6e98c
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Feb 4 14:44:16 2026 +0100
Added backend code to manage tag sets for tag-based scheduling
commit e03a64f81ac7c70638e21f1741e3431f40fd3b1d
Merge: 513020e0b 810db9292
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 11 12:35:30 2026 +0000
Fix work requests created by server task tests (MR !2704)
Several server task tests created work requests of task type `WORKER`.
This was just odd, and probably accidental.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2704
commit 513020e0b16beb366ca38cc33f0eab6a6529c596
Merge: 29eb759c9 597f32178
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 11 12:35:11 2026 +0000
Add lookup helpers for work requests (MR !2705)
It turns out to be very common, especially in workflows, to want to
perform a lookup in the context of a work request: that is, passing
`user` and `workflow_root` based on the work request, and normally also
`workspace`. This results in quite a bit of repetitive typing in
workflows.
Add `lookup_single` and `lookup_multiple` methods to work requests which
pass the appropriate parameters to the raw lookup functions, and
simplify all relevant callers.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2705
commit 29eb759c9ab33c12d3f12f234f8f74f5db52833a
Merge: 58450681a 7684509d7
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 10 17:23:06 2026 +0000
Enable ruff pygrep-hooks rules (MR !2706)
This is picky about blanket `type: ignore` and `noqa` comments. I added
specific error codes.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2706
commit 58450681ad4970372f44f81a6a1920b0a5070958
Merge: 4f974c9c2 43f267a07
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 10 17:22:44 2026 +0000
Stop using mypy's new exclude_gitignore option for now (MR !2703)
In the default Freexian source tree layout, there's a `../../.gitignore`
containing various entries including `/projects/`, which ran afoul of
the bug I'm fixing in https://github.com/python/mypy/pull/20775.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2703
commit 7684509d74d7af0eca996541d792849599446e37
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 10 13:58:04 2026 +0000
Enable ruff pygrep-hooks rules
This is picky about blanket `type: ignore` and `noqa` comments. I added
specific error codes.
commit 4f974c9c2f34572c406ceb69a8d4b9f6b810c035
Merge: a163330ba 3763d8cc3
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 10 14:50:23 2026 +0000
Rename test classes ("class SomethingTest" to "class SomethingTests") (MR !2702)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2702
commit 597f32178f2fdd94d21fedbf1c1757b2d9573259
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 10 13:36:24 2026 +0000
Add lookup helpers for work requests
It turns out to be very common, especially in workflows, to want to
perform a lookup in the context of a work request: that is, passing
`user` and `workflow_root` based on the work request, and normally also
`workspace`. This results in quite a bit of repetitive typing in
workflows.
Add `lookup_single` and `lookup_multiple` methods to work requests which
pass the appropriate parameters to the raw lookup functions, and
simplify all relevant callers.
commit 8a050641e1d3cc910d9552c93328fb9fd7a0333d
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 10 12:53:48 2026 +0000
Remove unnecessary user fallbacks
`work_request.created_by` is non-nullable, so there's no need to handle
the possibility of it being None.
commit 6a916b4146d92b1aaa9b3ae3e81f46a9c7a3b15d
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Wed Feb 4 21:09:09 2026 +0000
ui: avoid N+1 queries when showing aborted_by in work request status
commit a163330ba1cc99e9f6ba124d8da0392b6ccf3475
Merge: 27edbd07f 42b8f5328
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 17:07:41 2026 +0000
Enable ruff flake8-pie rules (MR !2699)
This is a collection of miscellaneous lints, but the fixes seem
reasonable. The coverage workaround in
`DebusineComment.read_input_data` doesn't seem to be necessary any more.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2699
commit 810db9292b0d812d8bd2d83b9fabce844c70a6ec
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 16:53:23 2026 +0000
Fix work requests created by server task tests
Several server task tests created work requests of task type `WORKER`.
This was just odd, and probably accidental.
commit 27edbd07f46ffd6b26c46ccdf86857f2767f2478
Merge: b92d6cba7 3c4faaccd
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 16:52:12 2026 +0000
Make sure server tasks always have a work request (MR !2695)
This was part of a rabbit-hole while trying to simplify how workflows
perform lookups. While it needs to be possible to construct worker and
signing tasks without a `WorkRequest` object (because external workers
construct them), there's no real reason why server tasks can't always
have a work request available, as was already the case for workflows.
While a few tests become slightly more complicated, and there's an
oddity in how Django form handling works that requires a workaround in
`BaseTask.__init__`, on the whole this is conceptually simpler and will
make other changes easier.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2695
commit 42b8f53282d8411dd9b75adb31fb2fca34a74340
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 12:16:35 2026 +0000
Enable ruff flake8-pie rules
This is a collection of miscellaneous lints, but the fixes seem
reasonable. The coverage workaround in
`DebusineComment.read_input_data` doesn't seem to be necessary any more.
commit 43f267a0785e2709694b1d0956ba40a9b1050df0
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 16:19:52 2026 +0000
Stop using mypy's new exclude_gitignore option for now
In the default Freexian source tree layout, there's a `../../.gitignore`
containing various entries including `/projects/`, which ran afoul of
the bug I'm fixing in https://github.com/python/mypy/pull/20775.
commit 3c4faaccdfac365cb6337a4d7c5910514d4ef820
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 15:28:19 2026 +0000
Make sure server tasks always have a work request
This was part of a rabbit-hole while trying to simplify how workflows
perform lookups. While it needs to be possible to construct worker and
signing tasks without a `WorkRequest` object (because external workers
construct them), there's no real reason why server tasks can't always
have a work request available, as was already the case for workflows.
While a few tests become slightly more complicated, and there's an
oddity in how Django form handling works that requires a workaround in
`BaseTask.__init__`, on the whole this is conceptually simpler and will
make other changes easier.
commit 3763d8cc3c8a28aa386d39e4556aad3cf5e4af3b
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Feb 9 16:25:28 2026 +0100
Fix typo (Dumy -> Dummy)
commit ea2986c232918cfd528652dc71d4733e755b4936
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Feb 9 16:24:41 2026 +0100
Rename test classes that ended in "Test" to "Tests"
commit 9ad51068f312d3b7082e92fbfb59cc80e1a9922d
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Feb 9 14:32:05 2026 +0100
Fix inline style attribute in file log template, improve tests
commit b92d6cba799de883f0be3c4b14d074863c7643c2
Merge: 2b05e4d9c 3322fc3be
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 14:11:21 2026 +0000
Enable ruff flake8-datetimez rules (MR !2698)
The violations here don't seem too bad in practice (the only use of
naive datetime objects outside tests was in a naive-to-naive comparison,
which is OK), but this is easy to get wrong so static analysis is
helpful.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2698
commit 2b05e4d9c4cced5fbfa157c165622797959f9174
Merge: 5c3d5ade9 9ce7d4c6f
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 14:11:10 2026 +0000
Upgrade to ruff 0.15.0 (MR !2697)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2697
commit 3322fc3bea7c882fefbe4106ea26208ddce761e3
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 11:58:02 2026 +0000
Enable ruff flake8-datetimez rules
The violations here don't seem too bad in practice (the only use of
naive datetime objects outside tests was in a naive-to-naive comparison,
which is OK), but this is easy to get wrong so static analysis is
helpful.
commit 5c3d5ade946237a65f96db85b1074ad3414eb8d0
Merge: ab82148cf 76e90c1cd
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 11:19:31 2026 +0000
Convert BaseTaskWithExecutor to Abstract Base Class (MR !2696)
Converts `BaseTaskWithExecutor` to an Abstract Base Class to resolve a pending TODO, preventing accidental direct instantiation.
Enhances type safety and IDE support by aligning with the project's existing `ABCMeta` patterns without introducing breaking changes.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2696
commit 9ce7d4c6fd8e1b5854040da5d77506dd011489a4
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 9 11:15:11 2026 +0000
Upgrade to ruff 0.15.0
commit ab82148cf69c31b7b4e5465ab4803f64c36370f8
Merge: e37d98f26 7339f6819
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Feb 9 07:31:00 2026 +0000
List workflow input artifacts in work request view (related #885) (MR !2542)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2542
commit 7339f68198a357bf441944b32979fecb5dc2304e
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Feb 9 07:31:00 2026 +0000
List workflow input artifacts in work request view (related #885)
commit 76e90c1cd3c9941cf70d9616b914cb38a0edf0eb
Author: TheAshutoshMishra <dev.ashutoshmishra@gmail.com>
Date: Mon Feb 9 07:16:49 2026 +0000
Convert BaseTaskWithExecutor to Abstract Base Class
Resolves TODO comment at line 1081 by adding metaclass=ABCMeta to
BaseTaskWithExecutor class definition.
This change:
- Prevents direct instantiation of BaseTaskWithExecutor
- Aligns with existing pattern (RunCommandTask already uses ABCMeta)
- All subclasses already implement required abstract methods
- No breaking changes - purely a type safety improvement
commit e37d98f26b31de3318a1cc9c1f9747ddbe49fc6a
Merge: 3e667d9c3 41b476c8a
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 14:43:00 2026 +0000
Remove BaseTask.instantiate_with_new_data (MR !2693)
It was introduced in e4505c927aaf3a95fccd67c71467a2b59c91f807, but then
the only non-test use of it was removed shortly afterwards in
6abb00ef93f264ef07fe0e78d1d5906616ff9742.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2693
commit 3e667d9c38cbac1100487989b1c00913cfe4dbe3
Merge: 33b4e7274 db7cdf30f
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 14:20:13 2026 +0000
Fix TODO comment formatting for PEP 350 compliance (MR !2690)
Updated TODO/XXX comments to follow PEP 350 conventions by adding colons and capitalizing the first word.
Standardized marker formatting and removed extra spaces to ensure consistency across the codebase.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2690
commit 41b476c8acdc4521bee97cbc72ce9f355ff3f46c
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 12:25:29 2026 +0000
Remove BaseTask.instantiate_with_new_data
It was introduced in e4505c927aaf3a95fccd67c71467a2b59c91f807, but then
the only non-test use of it was removed shortly afterwards in
6abb00ef93f264ef07fe0e78d1d5906616ff9742.
commit 33b4e7274713e4cbdc38514b0bfc808aceb86b10
Merge: 917584312 5e960ecc2
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 13:08:51 2026 +0000
Push post_init up to BaseTask (MR !2692)
Carles introduced this for workflows in
c02dbda434280a34f4fcd40c951da88d6d5cdf4d, but it's useful in other
contexts as well, and greatly reduces the number of places where we
repeat `BaseTask.__init__`'s signature.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2692
commit db7cdf30f75e635ddf1168af5905251259b339d6
Author: Ashutosh Mishra <dev.ashutoshmishra@gmail.com>
Date: Fri Feb 6 07:44:44 2026 +0000
Remove XXX from TODO comments as requested
Change TODO/XXX to just TODO per maintainer feedback.
XXX will be reserved for pre-merge notes to self.
commit c32ad6ee1a975a2c0676543132453f4d828abcde
Author: Ashutosh Mishra <dev.ashutoshmishra@gmail.com>
Date: Fri Feb 6 07:44:14 2026 +0000
Fix TODO comment formatting for PEP 350 compliance
Add missing colons to TODO comments and capitalize first word
to follow PEP 350 conventions and maintain consistency across
the codebase.
Changes:
- Add colon after TODO markers
- Capitalize first word after TODO:
- Remove extra spaces in TODO/XXX markers
commit 5e960ecc218bea15a85f2af77f14c82fd285bfa5
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 11:53:46 2026 +0000
Push post_init up to BaseTask
Carles introduced this for workflows in
c02dbda434280a34f4fcd40c951da88d6d5cdf4d, but it's useful in other
contexts as well, and greatly reduces the number of places where we
repeat `BaseTask.__init__`'s signature.
commit 91758431298b0b9a11b663b775f1cc423f50c417
Merge: f15690c38 bc009411d
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 12:26:26 2026 +0000
mypy: Pin tenacity to <9.1.3 for now (MR !2691)
https://github.com/jd/tenacity/issues/553 causes type-checking failures
for us in a few places.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2691
commit bc009411d9f9bbf345e4872df68cfcba793ff881
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 11:52:36 2026 +0000
mypy: Pin tenacity to <9.1.3 for now
https://github.com/jd/tenacity/issues/553 causes type-checking failures
for us in a few places.
commit 49542f7e8203e772da604500f086971a3f323322
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 11:50:41 2026 +0000
Pacify yamllint
commit f15690c3893a4c9bfb27fbd9155eac06e42fe49d
Merge: ec7b106cb c6f3459c4
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 10:28:32 2026 +0000
Remove task data filtering from `Workflow.ensure_child_*` (#1269) (MR !2685)
This was too strict in some cases, particularly when task configuration
was involved, and resulted in existing work requests not matching the
filter when they should have done.
Rather than trying to match on task data, it's simpler to just rely on
`workflow_data.step` being unique across all children of a given
workflow. I've checked this for all existing callers and it already
seems to be the case.
Closes #1269
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2685
commit ec7b106cb5afb4d49de8766e8e0cdbc85ec4d3f9
Merge: dbcfa2b11 46a69b369
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 15:31:50 2026 +0000
APTMirror: Add partial mirroring support (#1250) (MR !2684)
Closes #1250
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2684
commit 46a69b3697d48d60867b6cd1eeb1ccf814d9d6c4
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 18:44:50 2026 +0000
APTMirror: Add partial mirroring support
Fixes: #1250
commit dbcfa2b1121285a689f6bce315652addf6877b2e
Merge: dd32938ae 0cc9a52d4
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Feb 5 13:55:56 2026 +0000
DebDiffWorkflow: transition from "any" architectures to "all": create DebDiff tasks (fixes #1300) (MR !2687)
Closes #1300
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2687
commit c6f3459c4a4f6a264f2079e2955d3cb5a34f9f82
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 13:17:42 2026 +0000
Reduce workflow data matching in `Workflow.ensure_child_*` to `step`
This exposed a mistake in several workflows that set up regression
analysis callbacks: they failed to use unique `step` values.
commit dd32938ae1157a292e1363e1079cb595ea929301
Merge: 18077ac8d e144b63e9
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 12:51:00 2026 +0000
Change LookupResult.result_type to be a LookupResultType (MR !2681)
I recently started getting the following errors from `mypy`:
```
debusine/server/collections/lookup.py:69: error: Parameter 1 of Literal[...] is invalid [valid-type]
debusine/server/collections/lookup.py:81: error: Parameter 1 of Literal[...] is invalid [valid-type]
debusine/server/collections/lookup.py:92: error: Parameter 1 of Literal[...] is invalid [valid-type]
```
I'm not sure why this hasn't been happening since I last upgraded
`mypy`, but regardless, based on
https://mypy.readthedocs.io/en/stable/literal_types.html#parameterizing-literals
it seems that `TextChoices` instances might plausibly be a bit too
complex to be used as a `Literal`. We already have the simpler
`LookupResultType` for use in the client, and it makes sense to use that
here too.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2681
commit 18077ac8d05914a8fd632a3dd5aa54b53aad55e5
Merge: 7592e8574 e3c65405c
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 11:29:07 2026 +0000
Modernize command on "Waiting for signature" card (#1270) (MR !2686)
This requires debusine-client >= 0.13.0.
Closes #1270
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2686
commit 7592e857402b2f54b0bf1d9b349faa9858b89fde
Merge: d5c71312f a2a582639
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 11:28:51 2026 +0000
APTMirror: Fetch Contents and Translation indexes (MR !2683)
Fixes: #955
Closes #955
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2683
commit d5c71312f2103df1422533674411574693a614be
Merge: a5541bfbe c465605ad
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 11:28:36 2026 +0000
APTMirror: Make the architectures parameter optional (MR !2682)
This is easy now that we no longer fetch indexes using `apt`.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2682
commit 0cc9a52d47ce67eb3fc6f7f976cfd55b9728edd9
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Feb 5 11:02:07 2026 +0100
DebDiffWorkflowTests: refactor to avoid lookups/repetition
commit 3341162cd12422946dc28390755a5bac992b8a7b
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue Feb 3 17:02:27 2026 +0100
DebDiffWorkflow: transition from "any" to "all": populate DebDiff tasks
commit 0c93ddb3bf6bf34ab3e4c1c2fe1c25bc6314b1b2
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Wed Feb 4 20:27:01 2026 +0000
avoid N+1 queries when showing aborted_by in work request status
commit e3c65405c6e26e2d8469808a5a772878398b047f
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 4 18:28:26 2026 +0000
Modernize command on "Waiting for signature" card
This requires debusine-client >= 0.13.0.
Fixes: #1270
commit fd195b6b6d3791ecae4e29e8da8850ccd7e3a9e9
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 4 18:18:25 2026 +0000
Remove task data filtering from `Workflow.ensure_child_*`
This was too strict in some cases, particularly when task configuration
was involved, and resulted in existing work requests not matching the
filter when they should have done.
Rather than trying to match on task data, it's simpler to just rely on
`workflow_data.step` being unique across all children of a given
workflow. I've checked this for all existing callers and it already
seems to be the case.
Fixes: #1269
commit a5541bfbeb39f73a335fcecff2d4edee2e9d7874
Merge: a9160bdad 5622c02d3
Author: Stefano Rivera <stefanor@debian.org>
Date: Wed Feb 4 17:53:39 2026 +0000
ui: show message while workflow is being orchestrated (MR !2667)
Large workflows can take a long time to orchestrate, during which the UI may appear idle.
This change shows a simple informational message when a workflow is still being orchestrated, so users understand that processing is ongoing.
No backend behavior is changed.
Closes #1249
Closes #1249
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2667
commit 5622c02d348c98e42f30ca3a2a1d626cbc61d454
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Wed Feb 4 23:23:39 2026 +0530
ui: show orchestrating message with running workflows with no children
commit 1ff6ca25ca283521dbc45c248fe3214750bed9a1
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 16:49:53 2026 +0000
Refactor some repetitive `APTMirror` plan assertions
commit 0d1396c612e6b42d208a8bbffd307a70f111f6d3
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 15:53:30 2026 +0000
Refactor APTMirror.plan_{sources,binaries} slightly
Using a dataclass here rather than tuples makes it easier to understand
what's going on.
commit 3fc650b649832193a5049e97c8de0664798d682d
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 15:40:02 2026 +0000
Remove unnecessary `setdefault`
The code immediately above this raises an exception if the key is
already in the dictionary, so using `setdefault` just makes this code
slightly harder to understand for no benefit.
commit 2163e67a2d2ca8541b2f25ca1ba2bfe22e965be2
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 15:36:38 2026 +0000
Refactor APTMirror.add_{source,binary} slightly
Passing a dataclass rather than a collection of individual parameters
makes these methods easier to extend.
commit f49ffeeb78d68ba07068cb51b4ce9ec33e984d61
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 14:47:27 2026 +0000
Adjust confusing `APTMirror` method order
`add_source` comes immediately before `update_sources`, so `add_binary`
should likewise come immediately before `update_binaries`.
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.