commit a0e2360f7a2a228bf367aedb0f7fb0e9a4c03bd3
Merge: f90041d8d 546a32b14
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 26 17:52:28 2026 +0000
Use the specific LookupResult subclasses in lookup results (MR !2778)
This builds on top of https://salsa.debian.org/cjwatson/debusine/-/tree/cache-lookups
When trying to use `LookupResult` subclasses to instantiate their own serializable versions, I realised that lookups only ever returned the base class. This MR makes it return the specific classes, as appropriate
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2778
commit 546a32b1403d23e36a286b860ce70e39d533f97d
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Feb 26 16:43:05 2026 +0100
Instantiate the right lookup result class in lookups
commit 0b5e53fc74587659fba2f5d3b340c39d813ccdb8
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Feb 26 15:47:40 2026 +0100
Delegate building ArtifactInfo/CollectionInfo serializable versions to LookupResult
commit f90041d8dd16ca9e5954ea178edf9a4381879332
Merge: 48ac0254a 173ee5f37
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 26 16:48:34 2026 +0000
Cache positive lookup results in the context (MR !2772)
This should speed up orchestration of large workflows by avoiding
repeated work to resolve common lookups, such as the inputs to the
top-level workflow.
Part of #786.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2772
commit 173ee5f371658beeae2ef09cf136ea3b4dcb842f
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 26 14:41:57 2026 +0000
Use a local context when terminating workers during provisioning
We don't want any resulting changes to the lookup cache to leak out into
the rest of the provisioner.
commit 7f9ab82df053174f9c01ea8bce2d7fd99bb08b82
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 26 14:18:05 2026 +0000
Use a local context when scheduling work requests for workers
We don't want any resulting changes to the lookup cache to leak out into
the rest of the scheduler.
commit 48ac0254afee1c0eb9253c35ca61b7820cf2e2a2
Merge: 5903be8b5 d8bc9eb2e
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 26 10:42:43 2026 +0000
Avoid unnecessary save() in WorkRequest.add_dependency (MR !2775)
`self.dependencies.add(dependency)` doesn't need a separate `save()`
call; the `save()` is only needed if the status was changed to
`BLOCKED`. This saves an `UPDATE` query in many `add_dependency` calls.
Part of #786.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2775
commit 5903be8b59644b8fc6921e181bb069ddd35ec772
Merge: 30b8b0ad1 e80b51329
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 26 10:42:30 2026 +0000
Add indexes for qa-results lookups and work_request_ensure_child_* (MR !2774)
These only save a few milliseconds each, but they're called a lot in
some large workflows, so every little helps.
Part of #786.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2774
commit 0db8fdc7ac0e27b1a44e0aab3882a22924a15cce
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 26 09:43:15 2026 +0000
Refactor odd Lookup*Tests.assert_lookup_* user parameters
commit 4abaf4f0be95c966c08a89d35d3498da3715e181
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 25 21:02:37 2026 +0000
Cache positive lookup results in the context
This should speed up orchestration of large workflows by avoiding
repeated work to resolve common lookups, such as the inputs to the
top-level workflow.
Part of #786.
commit 09094cc4d99ffa180b20d3342b32a1f365ee1dcc
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 25 16:35:35 2026 +0000
Reduce some more import cycles in models
commit a737e2f85beeae6d7521e85ea097d01b78b9ab3f
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 25 16:28:53 2026 +0000
Move LookupResult to debusine.db.models.lookups
This helps to reduce some import cycles.
commit 3ad0154eebe9a6b074c7307c600dbc0549424055
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 25 16:16:12 2026 +0000
Avoid importing debusine.db.context directly from models
`mypy_django_plugin` imports models in order to be able to type-check
them, and so there are certain kinds of import cycles that `if
TYPE_CHECKING:` can't help with. Reduce some awkward cases of this by
avoiding imports of `debusine.db.context` at the top level of models.
commit 11ba5bb7019bfa999831addf7064dba7aae670c4
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 25 16:05:43 2026 +0000
Make CollectionItemMatcher hashable if its value is
This makes `LookupDict` more reliably hashable.
commit 30b8b0ad1cdcb1d343852354b842ec9619ef16b4
Merge: b7da0e44f 6742a282a
Author: Enrico Zini <enrico@debian.org>
Date: Thu Feb 26 07:43:12 2026 +0000
Drop DefaultDynamicData now that we can use default values for type arguments (MR !2762)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2762
commit b7da0e44f5ec3018921e093a89d368e6239b100f
Merge: 84b841581 099b08ff2
Author: Enrico Zini <enrico@debian.org>
Date: Thu Feb 26 07:06:43 2026 +0000
Merged BaseTask and BaseExternalTask into a BaseExternalTask base class (#1316) (MR !2760)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2760
commit d8bc9eb2ed7d66c76f48de95d2ee01496dbde9f1
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 26 00:36:07 2026 +0000
Avoid unnecessary save() in WorkRequest.add_dependency
`self.dependencies.add(dependency)` doesn't need a separate `save()`
call; the `save()` is only needed if the status was changed to
`BLOCKED`. This saves an `UPDATE` query in many `add_dependency` calls.
Part of #786.
commit e80b51329bba7fa9a8288c5b4708d444693ddb71
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 26 00:32:55 2026 +0000
Add indexes for qa-results lookups and work_request_ensure_child_*
These only save a few milliseconds each, but they're called a lot in
some large workflows, so every little helps.
Part of #786.
commit 84b8415811d18474645dd6621dc91e8689c692a5
Merge: 1be9ce859 b2d7c0b1f
Author: Stefano Rivera <stefanor@debian.org>
Date: Wed Feb 25 21:50:28 2026 +0000
Promote freeze_time() to our base Django TestCase (MR !2768)
It's useful in any situation where we want to mock `django.utils.timezone.now`
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2768
commit 6742a282afd7c31e24975f476cc97dbbd9541f11
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Feb 24 09:45:51 2026 +0100
Drop DefaultDynamicData now that we can use default values for type arguments
commit 099b08ff26e3330fc394e27dd7423248b203895a
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Feb 23 17:33:57 2026 +0100
Merged BaseTask and BaseExternalTask into a BaseExternalTask base class
commit 1be9ce859cf50bdddc6b996173077eda608262ff
Merge: ad1177fae dc561fb5e
Author: Enrico Zini <enrico@debian.org>
Date: Wed Feb 25 18:39:11 2026 +0000
Improved typing and API clarity of task input fields (#1316) (MR !2757)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2757
commit dc561fb5e402ebeb208578accf802e0737780387
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Feb 23 16:36:13 2026 +0100
Cleaned task inputs test suite
commit 0df5850c5ea137271387be2b4c1729d04a19db20
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Feb 23 12:50:21 2026 +0100
Renamed _resolve_field to get_field
commit 4a103378e053a6eff8e298ad8f4db3cce83e50be
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Feb 23 12:12:48 2026 +0100
Improved typing of input fields
commit ad1177faea4c1f54c017e559f4d3d2ff082d06d3
Merge: 4b25337b7 05522e572
Author: Raphaël Hertzog <hertzog@debian.org>
Date: Wed Feb 25 15:53:20 2026 +0000
web: validate collection parameter in TaskConfigurationInspector (MR !2770)
Validate the `collection` query parameter in the task configuration inspector. Return 400 for non-numeric or empty values and 404 for non-existing or overflow IDs. Add tests covering these edge cases.
Closes #1341
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2770
commit 05522e572a769b1dd4619339ee968ebb5d35b679
Author: Nikil Paul <snikilpaul@gmail.com>
Date: Wed Feb 25 21:23:20 2026 +0530
web: validate collection parameter in TaskConfigurationInspector
* Return 400 for non-numeric or empty values.
* Return 404 for non-existing or overflow IDs.
* Add tests using subTest to cover edge cases.
commit 4b25337b719a482b25a6cd5ed94b5a43a50d981f
Merge: b2276e6f6 9efc1d87b
Author: Enrico Zini <enrico@debian.org>
Date: Wed Feb 25 08:10:05 2026 +0000
Cleanup server-side tasks (#1316) (MR !2754)
This MR:
* makes wait tasks descend directly from `DBTask`
* makes workflow tasks descend directly from `DBTask`
* stop requiring `TaskDatabaseInterface` for computing dynamic task data for server-side tasks
* merges `build_dynamic_data` into `compute_dynamic_data` as they were mostly aliases
* stops using a TaskDatabase except for configuring worker task inputs
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2754
commit 9efc1d87be032fc6a9d73133f3e553a184bf5e64
Author: Enrico Zini <enrico@enricozini.org>
Date: Sun Feb 22 13:35:20 2026 +0100
Moved get_environment to WorkRequest.lookup_environment, so workflows can use it without a TaskDatabase
commit d2b564744002f06258c8ed65537cb5c7ed423f82
Author: Enrico Zini <enrico@enricozini.org>
Date: Sun Feb 22 12:54:23 2026 +0100
Merged build_dynamic_data into compute_dynamic_data
commit 480ae786d3e3d050536f8331defa7941f949e70e
Author: Enrico Zini <enrico@enricozini.org>
Date: Sun Feb 22 12:32:42 2026 +0100
Stop using TaskDatabase for computing dynamic task data in server and workflow tasks
commit 282ddf2ce5b13be78d09f824986a6362723f9057
Author: Enrico Zini <enrico@enricozini.org>
Date: Sun Feb 22 11:43:25 2026 +0100
Make Workflow tasks descend directly from DBTask
commit 28723ca1395f57f08977cbf7b49b6d4ea718ceb8
Author: Enrico Zini <enrico@enricozini.org>
Date: Sun Feb 22 10:58:16 2026 +0100
Make wait tasks descend directly from DBTask
commit b2276e6f6eab4d30616fd1f95eeffb6ebbf17539
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Feb 25 08:02:17 2026 +0100
Do not delegate to get_subject to avoid surprising behaviouir if its meaning diverges in the future
commit 0090c7cbf8f41f7d184f1f9c50039a6e66132bcf
Merge: 608e72a15 1f6e68ba8
Author: Enrico Zini <enrico@debian.org>
Date: Wed Feb 25 07:28:57 2026 +0000
Resolve task fields in multiple stages, drop computing early dynamic task data for task configuration (#1316) (MR !2753)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2753
commit b2d7c0b1f48af93106e5b5ba213230b7ae4f8625
Author: Stefano Rivera <stefano@freexian.com>
Date: Tue Feb 24 13:10:09 2026 -0400
Promote freeze_time() to our base Django TestCase
commit 1f6e68ba86d3d92edb92b4e6d552b429cb82ae65
Author: Enrico Zini <enrico@enricozini.org>
Date: Sun Feb 22 10:21:00 2026 +0100
Resolve task fields in multiple stages
commit a41a766513bac0c37886ff8a5b7f73fc430e2073
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Feb 21 22:03:45 2026 +0100
Delegate computing user provided tags to tasks
commit 4b347e90464272b9b83ed61df1c5eeef5aa4e024
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Feb 21 21:45:45 2026 +0100
Use the new specific methods to compute subject and configuration context
commit a5bd441ad663be8835232a7e0857453e56bebb24
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Feb 21 19:10:48 2026 +0100
Added BaseTask.get_subject and BaseTask.get_configuration_context to use for task configuration
commit 608e72a15942e2678d6575adfb7eceb5c447053d
Merge: 76b1bb3fe 6adf2bf58
Author: Stefano Rivera <stefanor@debian.org>
Date: Tue Feb 24 18:08:04 2026 +0000
Release 0.14.5 (MR !2761)
Best reviewed by commit: I did quite a bit of editing of release notes snippets for this one.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2761
commit 6adf2bf58413aaf59436838c481619887524f4d4
Merge: f4428c643 76b1bb3fe
Author: Stefano Rivera <stefano@freexian.com>
Date: Tue Feb 24 09:56:34 2026 -0400
Merge branch 'devel' into release-0.14.5
commit 76b1bb3fe644026b55afa1105ad85b760a8d79d9
Merge: 42a6b9fc5 84abbc0d7
Author: Enrico Zini <enrico@debian.org>
Date: Tue Feb 24 13:22:19 2026 +0000
Add script to check consistency before switching to tag based scheduling (MR !2727)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2727
commit 84abbc0d7dbc6bfcff65a9c3253011ae8f9e6c5a
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Feb 23 17:39:21 2026 +0100
Exclude temorary management command from code coverage requirements
commit 8e29a6b66f46d5f78c27d2782458714d6c624c55
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Feb 17 17:15:05 2026 +0100
Added draft debusine-admin check_scheduler_tags
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.