vcswatch reports that
this package seems to have new commits in its VCS but has
not yet updated debian/changelog. You should consider updating
the Debian changelog and uploading this new version into the archive.
Here are the relevant commit logs:
commit 2daaa0ea29ada490b287a3642993ed37177bdd5d
Merge: 41ae91bd1 0d2885cd8
Author: Enrico Zini <enrico@debian.org>
Date: Wed Sep 9 08:56:39 2026 +0000
Add a view to show statistics about file store usage (#1602) (MR !3339)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3339
commit 0d2885cd88e73d9a2bf7b67dbe7d15f730d3fa94
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Sep 1 12:58:26 2026 +0200
Show file storage statistics
commit 3f21b757277de8134231f97fad975142f87d1183
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Sep 1 10:17:22 2026 +0200
Generalize the query that selects referenced artifacts into ArtifactQuerySet
commit 41ae91bd1424c2d355b35d1301d3cc912bb5c8ca
Merge: 741dc1559 281101213
Author: Enrico Zini <enrico@debian.org>
Date: Tue Sep 8 18:29:33 2026 +0000
Specify a DB collation on all CharField fields (fixes: #1609) (MR !3355)
Closes #1609
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3355
commit 741dc155965f59f0759f8d3e1a37020431b38a4e
Merge: 8abac22af 0b98adf80
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Sep 8 17:05:11 2026 +0000
Add workflow list CLI command to debusine cli (MR !3334)
Adds "debusine workflow list" to list recent root workflows through existing work request API.
issue: #861
Yet to add news fragment, please review at your convenience.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3334
commit 2811012131903ed011d462a17efab380d8be3de3
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Sep 7 16:19:50 2026 +0200
Specify a DB collation on all CharField fields.
Also removed a redundant constraint that broke test cases after the
collation changes.
commit 0b98adf803b9572adfe7c9ab352a92196552f6a9
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Sep 8 17:13:25 2026 +0100
Add news fragments
commit 8abac22afcf4c99412595a0f40bb857673e3ec9f
Merge: b6a242947 ac68ccd1d
Author: Enrico Zini <enrico@debian.org>
Date: Tue Sep 8 16:09:49 2026 +0000
Deal with multiple roles per group on a resource in the web UI (fixes: #1591) (MR !3347)
Closes #1591
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3347
commit b6a2429476a48f1d7d1636f59091e78d653b9c93
Merge: 557349844 2ff9b0366
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Sep 7 11:47:47 2026 +0000
Clean up temporary files created using different user namespaces (MR !3353)
Normal temporary directory cleanup code isn't enough here; we have to enter an appropriate user namespace before we can remove these files.
Fixes: #1580
Closes #1580
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3353
commit 2ff9b0366e95d6c7c42902fb029eb6dc527c09a7
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Sep 6 20:12:28 2026 +0100
Clean up interrupted work requests as root before starting the worker
Fixes: #1580
commit 557349844078d79f00f92581dd9697d803552f5b
Merge: e33e40e61 b53128315
Author: Enrico Zini <enrico@debian.org>
Date: Mon Sep 7 10:30:29 2026 +0000
Disable wrapping in towncrier (fixes: #1607) (MR !3354)
Closes #1607
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3354
commit e33e40e61a29d2fca3679d2c5cca77797532d20b
Merge: 80e6a54f6 c2cbc53e5
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Sep 7 10:18:07 2026 +0000
Handle errors when marking work requests as pending (MR !3343)
Simply allowing these exceptions to propagate upwards can confuse the
server into doing things like retrying tasks because tasks with
configuration errors depend on them. Record these errors in the work
request's output data instead.
Fixes: #1555
Closes #1555
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3343
commit 80e6a54f6f7178681a2156e885e6a376639fa302
Merge: 3e8b26df1 a48a731d2
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Sep 7 10:06:10 2026 +0000
docs: use trixie in the debian_pipeline workflow template (MR !3352)
The sample workflow template in the "Create a build environment" section
used trixie for its suite, while the workflow template in the "Set up
the Debian pipeline" section (which is meant to carry on from the
previous section) used sid. Use trixie in both templates to ensure
continuity.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3352
commit 4291efb85941c8591ec460975e5c1276228196dd
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Sep 6 20:04:12 2026 +0100
Sbuild: Clean up temporary files created by the unshare backend
These are created in a different user namespace, so
`tempfile.TemporaryDirectory`'s normal cleanup code isn't enough.
Part of #1580.
commit ac68ccd1d0939af17d5db0a0db5d620275789554
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Sep 2 18:52:49 2026 +0200
Show and delete multiple roles for a group
commit d17f60873a39ddf7c8c9071b233fbf8afaa3b942
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Sep 2 12:13:56 2026 +0200
Allow setting multiple roles for a group on a resource
commit b531283153d8d54d9876795ffaab48b7993b9e36
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Sep 7 09:23:52 2026 +0200
Disable wrapping in towncrier (fixes: ##1607)
commit 3e8b26df1b07fb028974feb5ad594bbf9d4ac446
Merge: 5027ca53a 8bc40f7e3
Author: Enrico Zini <enrico@debian.org>
Date: Mon Sep 7 07:00:45 2026 +0000
Fix playground-populate --password not being honored (MR !3351)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3351
commit a48a731d2146f633eda09caca0ff6121ea71b2da
Author: Christopher Obbard <chris.obbard@oss.qualcomm.com>
Date: Sun Sep 6 19:27:42 2026 +0100
docs: use trixie in the debian_pipeline workflow template
The sample workflow template in the "Create a build environment" section
used trixie for its suite, while the workflow template in the "Set up
the Debian pipeline" section (which is meant to carry on from the
previous section) used sid. Use trixie in both templates to ensure
continuity.
Signed-off-by: Christopher Obbard <chris.obbard@oss.qualcomm.com>
commit 5027ca53aebfbe38f5c5917212784c713be55b84
Merge: 20fc60d9e 5fa43d175
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Sep 4 22:46:07 2026 +0000
Show APT configuration on workspace detail page (MR !3346)
This makes it easier to discover configuration for private archives,
since the authentication used for the archive host isn't
browser-friendly.
Fixes: #1431
Closes #1431
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3346
commit 8bc40f7e3da7701fee49c9e9099b7259a1bd817a
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Sep 4 18:45:30 2026 +0200
Fix playground-populate --password not being honored
commit 3be287a58bd8c81c1d1ca3747f5efa9715eecc22
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Sep 4 17:52:10 2026 +0100
Refactor sbuild test patch_* methods to be context managers
This makes it clearer what the scope of the patches is, rather than
having them implicitly extend to the end of the test.
commit 5fa43d1752d429342e72e570f90b343ae0ebdcca
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 15:16:38 2026 +0100
Show APT configuration on workspace detail page
This makes it easier to discover configuration for private archives,
since the authentication used for the archive host isn't
browser-friendly.
Fixes: #1431
commit 20fc60d9ed11b20043bd47afe4d789ba3fd15f95
Merge: baf66b268 c277219d1
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Sep 4 07:36:33 2026 +0000
Set defaults for CopyCollectionItemsCopiesInfo fields (MR !3349)
These match the defaults of the corresponding fields in
`CopyCollectionItemsCopies`.
Introducing new fields without a default means that the server will fail
to deserialize old dynamic task data.
Fixes: #1606
Closes #1606
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3349
commit c277219d1b86d6f26d3e41534aa8fb6c7160ffe9
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Sep 3 20:26:21 2026 +0100
Set defaults for CopyCollectionItemsCopiesInfo fields
These match the defaults of the corresponding fields in
`CopyCollectionItemsCopies`.
Introducing new fields without a default means that the server will fail
to deserialize old dynamic task data.
Fixes: #1606
commit baf66b2680fee84e1aef3f0dafa9e9f77af1f9bc
Merge: 0ca216360 52c4438ec
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 17:01:33 2026 +0000
Token: fix trigger that validates foreign keys based on token type (MR !3317)
The Token update trigger needs to refresh the value of NEW, because it
might have changed since the trigger was scheduled. However, `WHERE id =
db_token.id` would always be true; if you try a simple SELECT statement
with that WHERE clause, it returns all of the rows in the table. In the
trigger context, NEW would be assigned the very first row, based on the
default ordering, so every new row would be actually validating that
first one.
Looking into debusine.debian.net, there are several tokens in an
inconsistent state, all of them being worker tokens:
```
debusine=> SELECT count(*) FROM db_token WHERE token_type = 'worker' and worker_id is NULL;
count
-------
217
(1 row)
debusine=> SELECT count(*) FROM db_token WHERE (token_type = 'worker' AND worker_id IS NULL) OR (token_type = 'user' AND user_id is NULL ) OR (token_type = 'worker-activation' AND activating_worker_id IS NULL) OR (token_type = 'work-request' AND work_request_id IS NULL) OR (token_type = 'external-user' AND external_username = '');
count
-------
217
(1 row)
```
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3317
commit 52c4438eca2acad97a76b58ea8d473d64b990ec8
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 17:04:41 2026 +0100
Add news fragment
commit 0ca216360c1dd5fcfe4353d4177d54b9d1f07c75
Merge: 70c40732b c4680cb61
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 15:59:39 2026 +0000
pre-commit: Update ruff, djlint, mypy, and shellcheck (MR !3345)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3345
commit 0b38d9c42d5c80d9cf71e43bc0d4e4b21e22f9d6
Author: Antonio Terceiro <antonio@freexian.com>
Date: Wed Aug 19 18:46:26 2026 -0300
Token: fix trigger that validates foreign keys based on token type
The Token update trigger needs to refresh the value of NEW, because it
might have changed since the trigger was scheduled. However, `WHERE id =
db_token.id` would always be true; if you try a simple SELECT statement
with that WHERE clause, it returns all of the rows in the table. In the
trigger context, NEW would be assigned the very first row, based on the
default ordering, so every new row would be actually validating that
first one.
Looking into debusine.debian.net, there are several tokens in an
inconsistent state, all of them being worker tokens:
debusine=> SELECT count(*) FROM db_token WHERE token_type = 'worker' and worker_id is NULL;
count
-------
217
(1 row)
debusine=> SELECT count(*) FROM db_token WHERE (token_type = 'worker' AND worker_id IS NULL) OR (token_type = 'user' AND user_id is NULL ) OR (token_type = 'worker-activation' AND activating_worker_id IS NULL) OR (token_type = 'work-request' AND work_request_id IS NULL) OR (token_type = 'external-user' AND external_username = '');
count
-------
217
(1 row)
commit 70c40732bff7878cc03f8779a621c66a166f0eb2
Merge: 6b8d92f7d 857812f62
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 13:18:25 2026 +0000
Clear expired sessions from the database regularly (MR !3344)
See
https://docs.djangoproject.com/en/stable/topics/http/sessions/#clearing-the-session-store.
Fixes: #1572
Closes #1572
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3344
commit c4680cb61818e7dca6d732c19055d6dd1dd7329f
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 11:52:05 2026 +0100
pre-commit: Update ruff, djlint, mypy, and shellcheck
commit 857812f6248c3ab1b4c3c0145718e90b39842419
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 11:42:26 2026 +0100
Clear expired sessions from the database regularly
See
https://docs.djangoproject.com/en/stable/topics/http/sessions/#clearing-the-session-store.
Fixes: #1572
commit 6b8d92f7d7cdb39b2ab707629f85f790b93d73e4
Merge: de266422d 73f85b1e2
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 10:29:32 2026 +0000
package_publish: Speed up copying debug symbols with many build-IDs (MR !3341)
Fixes: #1593
Closes #1593
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3341
commit c2cbc53e526c05875a0e8c8f3de4e8e8af12dbf8
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 10:30:43 2026 +0100
Handle errors when marking work requests as pending
Simply allowing these exceptions to propagate upwards can confuse the
server into doing things like retrying tasks because tasks with
configuration errors depend on them. Record these errors in the work
request's output data instead.
Fixes: #1555
commit de266422d2111db29af3ea936ab2d6a1f09d242c
Merge: 4345df441 0eadb2b2f
Author: Enrico Zini <enrico@debian.org>
Date: Wed Sep 2 09:24:40 2026 +0000
Use playground.create_scope instead of get_or_create_scope (MR !3340)
This is a straightforward search and replace with:
```
git grep -l playground.get_or_create_scope | xargs sed -i -re 's/playground.get_or_create_scope/playground.get_scope/g
```
`get_or_create_scope` breaks playground naming conventions in unit tests, and it's always annoyed me. As I recently worked more than usual on scopes, it reached activation energy and here's a rename
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3340
commit 2d7a259719b650b5d9b54cad331a1f27cee2b931
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Sep 2 09:48:28 2026 +0100
Add more local coverage of WorkRequest.review_manual_unblock
commit 0eadb2b2f133e964d064ea6804daf68c429f9b89
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Sep 1 13:28:38 2026 +0200
Use playground.create_scope instead of get_or_create_scope
commit 4345df44153ac1efb32bbdc26b46d882e33589ea
Merge: 8ff8a340f a856154e1
Author: Enrico Zini <enrico@debian.org>
Date: Wed Sep 2 08:06:47 2026 +0000
Added AWARE role for scopes, and allow scopes to be private (#1278) (MR !3318)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3318
commit a856154e1005d93e01dc6f0f48beacca36d41b70
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Aug 19 10:28:52 2026 +0200
Added AWARE role for scopes, and allow scopes to be private
commit 8ff8a340fca0b45d7bcef4d0517eca423bfd20ea
Merge: ed63b8dd0 440d9a0c0
Author: Enrico Zini <enrico@debian.org>
Date: Wed Sep 2 06:56:28 2026 +0000
Add a convenient way to isolate task subclasses defined in tests (#1604) (MR !3342)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3342
commit ed63b8dd0be7ddc4af683b907471306da5b02530
Merge: dafb9efd4 9a009cf71
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Sep 1 17:58:03 2026 +0000
QA view: fix headers being too wide making table go under the right hand side information pane (fixes #1573) (MR !3288)
Closes #1573
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3288
commit 9a009cf718d1f9e6b9d76693db6752d18113cc40
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Aug 6 08:14:32 2026 +0100
QA view: use new template tag to add word breaks in the version
commit 6fba74d68953384e19f937f4e4d7814d0bff93a9
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Aug 6 07:45:00 2026 +0100
QA view: fix headers being too width making table go under the right hand side information pane.
fixes #1573
commit 440d9a0c014a1d98f85d3f8f4ea4dce8eba956c2
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Sep 1 19:04:01 2026 +0200
Add a convenient way to isolate task subclasses defined in tests
commit 73f85b1e24349b37b21f78ca8f54dcb8eea0103d
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Sep 1 16:07:09 2026 +0100
package_publish: Speed up copying debug symbols with many build-IDs
Fixes: #1593
commit dafb9efd4944467710e3b7e6cd94233e735c7d65
Merge: a1b4db32f 91eade1f8
Author: Enrico Zini <enrico@debian.org>
Date: Tue Sep 1 12:31:28 2026 +0000
Try harder to close the tar file when streaming is cancelled (#1592) (MR !3338)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3338
commit a1b4db32f2394357dc2acab137258b96b12f536f
Merge: 872294a50 56764886d
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Sep 1 10:00:48 2026 +0000
Automatically retry server tasks that raise lock errors (MR !3323)
Fixes: #1584
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3323
commit 91eade1f86ba804e220954606534f2c9218127d5
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Aug 31 16:37:32 2026 +0200
Try harder to close the tar file when streaming is cancelled (#1592)
commit 872294a50c8f60146917322115111fe9b4b8dbf6
Merge: f8d81fc1f ef7a253d7
Author: Enrico Zini <enrico@debian.org>
Date: Mon Aug 31 09:29:48 2026 +0000
Clear Asset / AssetUsage behaviour, and add missing roles tests (fixes #1589) (MR !3335)
With regards to permission checking on AssetUsage, this assumes that permissions on an Asset are currently ignored when checking permissions on an AssetUsage, otherwise we couldn't grant usage of instance-wide assets. After #1507 is done, we will have a chance of taking them into account if needed
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3335
commit ef7a253d7bdf448690ab99b5fc39fa62061ace9d
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Aug 25 13:02:42 2026 +0200
Check container resource displayability for assets
commit 8f1573031c4a0259b785a3bb2fd71ecc00f7c326
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Aug 28 11:33:25 2026 +0200
Clarify behaviour and documentation of interface-wide assets
commit f8d81fc1f8bf6cf551166a974c415188b601683b
Merge: 76d43b8b7 71d6f9b53
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Aug 31 06:11:26 2026 +0000
Avoid one database query per visible workspace in a scope (navigation bar listing the workspaces) (MR !3330)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3330
commit 76d43b8b757250fbd5918aff26ddbbddfda3c876
Merge: 5bd62c4f9 0e737c602
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Aug 30 19:55:12 2026 +0000
Improve output of `debusine work-request list` and `debusine workflow-template list` (MR !3327)
Both of those commands print large json fields for each, making the output tables very much unreadable.
Compare this:
```
$ python3 -m debusine.client work-request list
╷ ╷ ╷ ╷
ID │ Task │ Status │ Progress │ Worker
══════════╪═════════════════════════════╪═══════════════════╪════════════════════════════════╪════════
#1121605 │ Workflow package_publish │ blocked │ Created: 2026-08-25 22:26:54 │
#1121604 │ Internal workflow │ blocked │ Created: 2026-08-25 22:26:54 │
#1121603 │ Internal workflow │ blocked │ Created: 2026-08-25 22:26:54 │
#1121602 │ Worker autopkgtest │ blocked │ Created: 2026-08-25 22:26:54 │
#1121601 │ Worker autopkgtest │ blocked │ Created: 2026-08-25 22:26:54 │
#1121600 │ Workflow autopkgtest │ running │ Created: 2026-08-25 22:26:53 │
│ │ │ Started: 2026-08-25 22:26:53 │
#1121599 │ Workflow qa │ running │ Created: 2026-08-25 22:26:53 │
│ │ │ Started: 2026-08-25 22:26:53 │
#1121598 │ Worker autopkgtest │ completed skipped │ Created: 2026-08-25 22:26:53 │ 10
│ │ │ Started: 2026-08-25 22:26:57 │
│ │ │ Completed: 2026-08-25 22:27:38 │
#1121597 │ Worker autopkgtest │ pending │ Created: 2026-08-25 22:26:53 │
#1121596 │ Workflow autopkgtest │ running │ Created: 2026-08-25 22:26:53 │
│ │ │ Started: 2026-08-25 22:26:53 │
#1121595 │ Workflow qa │ running │ Created: 2026-08-25 22:26:52 │
│ │ │ Started: 2026-08-25 22:26:52 │
#1121594 │ Worker sbuild │ running │ Created: 2026-08-25 22:26:52 │ 7
│ │ │ Started: 2026-08-25 22:26:57 │
#1121593 │ Worker sbuild │ pending │ Created: 2026-08-25 22:26:52 │
#1121592 │ Workflow sbuild │ running │ Created: 2026-08-25 22:26:52 │
│ │ │ Started: 2026-08-25 22:26:52 │
#1121591 │ Workflow debian_pipeline │ running │ Created: 2026-08-25 22:26:47 │
│ │ │ Started: 2026-08-25 22:26:51 │
#1121590 │ Signing signrepositoryindex │ completed success │ Created: 2026-08-25 22:26:31 │ 20
│ │ │ Started: 2026-08-25 22:27:01 │
│ │ │ Completed: 2026-08-25 22:27:04 │
#1121589 │ Signing signrepositoryindex │ completed success │ Created: 2026-08-25 22:26:31 │ 20
│ │ │ Started: 2026-08-25 22:26:50 │
│ │ │ Completed: 2026-08-25 22:26:56 │
#1121588 │ Server generatesuiteindexes │ completed success │ Created: 2026-08-25 22:26:31 │ 5
│ │ │ Started: 2026-08-25 22:26:38 │
│ │ │ Completed: 2026-08-25 22:26:48 │
#1121587 │ Workflow update_suite │ completed success │ Created: 2026-08-25 22:26:30 │
│ │ │ Started: 2026-08-25 22:26:30 │
│ │ │ Completed: 2026-08-25 22:27:04 │
#1121586 │ Workflow update_suites │ completed success │ Created: 2026-08-25 22:26:19 │
│ │ │ Started: 2026-08-25 22:26:30 │
│ │ │ Completed: 2026-08-25 22:27:04 │
╵ ╵ ╵ ╵
```
with this (before, only including the output for the first 4 rows):
```
$ debusine work-request list
╷ ╷ ╷ ╷ ╷
ID │ Task │ Status │ Progress │ Worker │ Task data
══════════╪═════════════════════╪═══════════════════╪═════════════════════╪════════╪════════════════════
#1121605 │ Workflow │ blocked │ Created: 2026-08-25 │ │ {
│ package_publish │ │ 22:26:54 │ │ "replace": fals…
│ │ │ │ │ "target_suite":…
│ │ │ │ │ "source_artifac…
│ │ │ │ │ "binary_artifac…
│ │ │ │ │ {
│ │ │ │ │ "child_type…
│ │ │ │ │ "collection…
│ │ │ │ │ "name_match…
│ │ │ │ │ "kind": "…
│ │ │ │ │ "value": …
│ │ │ │ │ }
│ │ │ │ │ }
│ │ │ │ │ ]
│ │ │ │ │ }
#1121604 │ Internal workflow │ blocked │ Created: 2026-08-25 │ │ {}
│ │ │ 22:26:54 │ │
#1121603 │ Internal workflow │ blocked │ Created: 2026-08-25 │ │ {}
│ │ │ 22:26:54 │ │
#1121602 │ Worker autopkgtest │ completed skipped │ Created: 2026-08-25 │ 7 │ {
│ │ │ 22:26:54 │ │ "input": {
│ │ │ Started: 2026-08-25 │ │ "source_artif…
│ │ │ 22:29:08 │ │ "binary_artif…
│ │ │ Completed: │ │ "internal@c…
│ │ │ 2026-08-25 22:29:48 │ │ ],
│ │ │ │ │ "context_arti…
│ │ │ │ │ },
│ │ │ │ │ "backend": "inc…
│ │ │ │ │ "fail_on": {},
│ │ │ │ │ "timeout": null,
│ │ │ │ │ "debug_level": …
│ │ │ │ │ "environment": …
│ │ │ │ │ "pin_packages":…
│ │ │ │ │ "exclude_tests"…
│ │ │ │ │ "include_tests"…
│ │ │ │ │ "needs_internet…
│ │ │ │ │ "extra_environm…
│ │ │ │ │ "build_architec…
│ │ │ │ │ "extra_reposito…
│ │ │ │ │ {
│ │ │ │ │ "suite": "s…
│ │ │ │ │ },
│ │ │ │ │ {
│ │ │ │ │ "url": "htt…
│ │ │ │ │ "suite": "s…
│ │ │ │ │ "components…
│ │ │ │ │ "contrib",
│ │ │ │ │ "non-free…
│ │ │ │ │ "non-free…
│ │ │ │ │ ]
│ │ │ │ │ },
│ │ │ │ │ {
│ │ │ │ │ "url": "htt…
│ │ │ │ │ "suite": "b…
│ │ │ │ │ "components…
│ │ │ │ │ "main",
│ │ │ │ │ "contrib",
│ │ │ │ │ "non-free…
│ │ │ │ │ "non-free…
│ │ │ │ │ ]
│ │ │ │ │ }
│ │ │ │ │ ],
│ │ │ │ │ "task_configura…
│ │ │ │ │ }
```
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3327
commit 0e737c6026e6dfe173647feee758d8ab5ef0327f
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Aug 30 20:05:40 2026 +0100
Announce the changes
commit 5bd62c4f9f1df60d5ab2397d4c049f585184475a
Merge: c86699f59 b3a87e42d
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Aug 30 17:12:44 2026 +0000
debusine work-request show: Use Rich by default (MR !3333)
I noticed this inconsistency while reviewing !3327.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3333
commit c86699f59ea7984160978d5f148803c46e017ab8
Merge: fc0ff3f2f 1c7940435
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Aug 30 17:12:22 2026 +0000
Allow one build-ID to appear in several binary packages (MR !3331)
Drop the build-id match constraint and serve the newest matching
debian:debug-symbols artifact, following debuginfod(8).
Fixes: #1582
Related: #957
Closes #1582
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3331
commit fc0ff3f2fb5845d8c968dd22154d729189067275
Merge: 17ce508c6 ecc2916d4
Author: Enrico Zini <enrico@debian.org>
Date: Fri Aug 28 14:46:23 2026 +0000
Enforce can_display on the containing resources (#1278) (MR !3326)
There are two shortcuts here:
1. This is not yet implemented for `Asset` and `AssetUsage`, which would require more cleanup of assets (see #1589)
2. Stop going out of one's way to find shortcut paths if the current context does not match the resource and user being checked, and restrict fast path shortcuts only to code that can use the current context
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3326
commit ecc2916d4c434f4416513267fee434c0214221cb
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Aug 20 17:59:39 2026 +0200
Enforce can_display on the containing resources
commit ee11a3bf6ca5352094e4d916a911dbc3d0e0cad0
Author: Nikil Paul S <snikilpaul@gmail.com>
Date: Mon Aug 24 10:36:05 2026 +0530
Add workflow list CLI command
commit 71d6f9b53f5124615f2fea1e7403a88ccc195048
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Aug 27 07:54:28 2026 +0100
Avoid one database query per visible workspace in a scope
The navigation bar lists the workspaces and generated a query per each one
commit b3a87e42df647922eaa7a30687f8ea0c68d5aa01
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Aug 27 16:18:13 2026 +0100
debusine work-request show: Use Rich by default
I noticed this inconsistency while reviewing !3327.
commit 17ce508c6040c19d36446a4300f244e4424aece8
Merge: 1dda94900 f36b22f90
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Aug 27 14:13:51 2026 +0000
Revert "Use PostgreSQL debversion extension" (MR !3332)
This reverts commits 61f8f702a06c49006c3e274720a0538f9720b3aa, 8c70b7abe5f71dfb0c2ccf9d971729a45674c41e, 31a12594e5ae3ecaeb0927e2d7c2a120c83d4bb0, and 910532b60c1d72b67193f07a0126753b8d01ed7b.
AWS RDS doesn't support this extension yet, so let's revert this until we have a plan that's viable there. (We've also contacted AWS to ask for support, but I have no idea what sort of response time to expect.)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3332
commit 1c7940435a4838dce43c652f1e62cacdd075a27b
Author: DankJugal <ui22cs59@iiitsurat.ac.in>
Date: Thu Aug 27 11:07:27 2026 +0530
Allow one build-ID to appear in several binary packages
commit f36b22f90961dc987bcffa47d7c6ca6d993cf550
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Aug 26 11:38:12 2026 +0100
Revert "Depend on and load PostgreSQL debversion extension"
This reverts commit 61f8f702a06c49006c3e274720a0538f9720b3aa.
commit 74c1418c948f396cd2ee273379dd3407e771dc9d
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Aug 26 11:38:11 2026 +0100
Revert "Optimize some archive/suite lookups using debversion"
This reverts commit 8c70b7abe5f71dfb0c2ccf9d971729a45674c41e.
commit fed5d8376ed284507180091dc15d6f286a159263
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Aug 26 11:38:10 2026 +0100
Revert "generate_suite_indexes: Sort by true version ordering"
This reverts commit 31a12594e5ae3ecaeb0927e2d7c2a120c83d4bb0.
commit 1616f5650b24f189cfa77fbc3e4a19787db87cbe
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Aug 26 11:38:09 2026 +0100
Revert "Update recreated-db to set up debversion"
This reverts commit 910532b60c1d72b67193f07a0126753b8d01ed7b.
commit 1dda949008381ce9fcfdcb44a0a297a05ff5cb84
Merge: 8687401c6 75f74237c
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Aug 26 09:53:36 2026 +0000
Document issuing and using archive tokens for external users (MR !3328)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3328
commit 75f74237cd82e294272304df81267cf7f9016d1a
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Aug 26 09:24:08 2026 +0100
Document issuing and using archive tokens for external users
commit d78c3b18e3657d90dc750f4fd2e3be34800f09c2
Author: Antonio Terceiro <antonio@freexian.com>
Date: Tue Aug 25 16:17:04 2026 -0300
client: work-request list: omit task data
Including it will often make the output table unreadable. That data can
still be displayed with `debusine work-request show ID`.
commit 8e9dc85298fbf6b98e871f4e6626c2bbe6dc4551
Author: Antonio Terceiro <antonio@freexian.com>
Date: Tue Aug 25 16:10:39 2026 -0300
client: workflow-template list: omit *_parameters
Those fields are usually so large that displaying them makes the list
impossible to parse. They can still be displayed by looking the details
of a workflow template, with `debusine workflow-template show ID`.
commit 8687401c69534eb7701d2ed9d6956ff7d5b870c0
Merge: 230c60415 3c363f6fe
Author: Stefano Rivera <stefanor@debian.org>
Date: Tue Aug 25 11:01:26 2026 +0000
Fix live log "Finished" status always showing as failed (MR !3325)
The live log's exit code is stored in Redis as a string, but the browser compared it as an integer. This caused successful tasks to appear as failed.
Fix: Convert the exit code to an integer before sending it to the browser.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3325
commit 3c363f6fe1b92310ba603be17ecb9a8a9a379c6a
Author: Mohamed-code-13 <mohamed.code.13@gmail.com>
Date: Tue Aug 25 12:32:55 2026 +0300
fix live log finished status showing as failed
commit 230c60415c55696d6076a6baf4184bdbf60d3a67
Merge: 2d5914473 ac8129d2f
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Aug 24 13:44:55 2026 +0000
Add a debusine-admin user subcommand (MR !3237)
Group user management under a single "debusine-admin user" command,
mirroring "debusine-admin group": add "user create", "user list", and
"user change-email" subcommands, each dispatching to a handle_<action>
method.
Closes #1495
Closes #1495
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3237
commit ac8129d2f639b84da42adbfe2a72be50477a1f40
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Aug 24 13:01:28 2026 +0100
Update integration tests to use `debusine-admin user create`
commit d2cd5fd368cf18f895d637005d618054015186ee
Author: Ashmit JaiSarita Gupta <ashmitgupta.social@gmail.com>
Date: Tue Jul 21 09:44:04 2026 +0000
Deprecate create_user, list_users and manage_user
Turn create_user, list_users and manage_user into deprecated aliases
that warn and forward to the new "debusine-admin user" subcommands, and
update the documentation to refer to the current names.
Refs #1495
commit 402bcd395b268c0e94c9da8944cd4870e9ba0bc2
Author: Ashmit JaiSarita Gupta <ashmitgupta.social@gmail.com>
Date: Tue Jul 21 07:23:01 2026 +0000
Add a debusine-admin user subcommand
Group user management under a single "debusine-admin user" command,
mirroring "debusine-admin group": add "user create", "user list", and
"user change-email" subcommands, each dispatching to a handle_<action>
method.
Closes #1495
commit 2d59144731b2ffd9405dc4c0b40e826b5ab63028
Merge: 69374ec5d 439653c73
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Aug 24 11:38:02 2026 +0000
docs: add explanation for regression tracking (MR !3219)
initial draft for #1522.
the existing documentation describes regression tracking across the development blueprint and various workflow reference pages, but there is currently no explanation page that ties the feature together conceptually
This MR adds a new explanation page. I'm opening it early as a draft so the overall structure and scope can be reviewed before I complete the document!
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3219
commit 56764886d3cee6832c7c8d27b18ed1d28d8d71cb
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Aug 24 12:23:41 2026 +0100
Automatically retry server tasks that raise lock errors
Fixes: #1584
commit 69374ec5d1773158bed384776a0fe2f281d32e73
Merge: f581e6208 ffb859339
Author: Enrico Zini <enrico@debian.org>
Date: Sun Aug 23 21:44:17 2026 +0000
Added views to assign roles on resources to groups (#1279) (MR !3314)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3314
commit f581e62081da6363a50974aadb211eb3b3d2c064
Merge: 7cb7bccca f1c22663c
Author: Stefano Rivera <stefanor@debian.org>
Date: Sun Aug 23 12:21:50 2026 +0000
Stream worker events as internal messages (MR !3321)
Adds `_send_internal_log()` on `BaseExternalTask`, which sends worker events as an "internal" stream.
On the frontend, `DebusineLiveLog` renders internal stream messages in a different style.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3321
commit f1c22663c09da01665a153c564616b2677ce637e
Author: Mohamed Ashraf <mohamed.code.13@gmail.com>
Date: Sun Aug 23 12:21:50 2026 +0000
add _send_internal_log() method to stream to the Log tab as internal messages
commit 439653c732d68bd6bf2a4d95ecbb955bae948c06
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Fri Aug 21 19:10:27 2026 +0000
docs: address regression tracking review
commit 214f148a576bafcc51ce9a8eae3fef9d5fe1c5c1
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Mon Jul 20 06:10:33 2026 +0000
docs: complete regression tracking explanation
commit 508b7973c33d21c608efb90b999cff0f1bb2b3cf
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Sat Jul 18 09:52:37 2026 +0000
docs: explain supported workflows
commit 86efb6f791cba84a140b573227d616ebb78c5627
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Fri Jul 17 08:22:52 2026 +0000
docs: explain reference tests and regression analysis
commit e21e6aaf5113d71ce71cf42ea2495ba76d9d871b
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Wed Jul 15 08:52:57 2026 +0000
docs: explain reference QA results
commit 4bc63461978d1e2c91720c8074de7aa258a00815
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Tue Jul 14 11:47:39 2026 +0000
docs: introduce regression tracking explanation
commit 828beb3f885663657cb38c4fe9bba3594f6a2b20
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Tue Jul 14 11:44:34 2026 +0000
docs: add regression tracking explanation page
commit ffb8593393f424953ae0c285998ada354eb04589
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Aug 18 16:40:42 2026 +0200
Announce the change
commit cdf6d05f24bd1c3d5eb8b1a96340101eb7d62c5c
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Aug 18 14:04:43 2026 +0200
Added a view to set the role on a resource for a group
commit 64af4b24852e368f4406e137c4ebcedcf7e8c48c
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Aug 18 11:29:05 2026 +0200
Added a view to select a group to grant a role to a resource
commit 7cb7bccca0906d1a1502810cc3283b73ef37b1db
Merge: 5f098c835 aceb61fb1
Author: Enrico Zini <enrico@debian.org>
Date: Sat Aug 22 15:29:28 2026 +0000
Implemented removing roles from resources (#1279) (MR !3311)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3311
commit aceb61fb1b8b88daccaf4a5b314e2c05b3ced706
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Aug 14 17:54:21 2026 +0200
Announce the change
commit 58205cc363f45514a86432c8b05db83e3038bd84
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Aug 14 16:05:49 2026 +0200
Added a view to remove a group role on a resource
commit 4d8ed314ac61b7a09aefb703d69f594e4b356c7b
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Aug 14 12:36:14 2026 +0200
Added can_assign_roles permission predicate to resources
commit e3af098c869a03cd5d552d4e9254d5ec6a97541f
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Aug 14 12:02:11 2026 +0200
Moved resource protocols to debusine.db.models.resources
commit 5f098c835f17b5855afa7b873599c08f2b901769
Merge: a5dc7755b b9ddbecbf
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Aug 21 21:15:15 2026 +0000
Add browser UI for live log streaming (MR !3300)
Adds the browser side of live log streaming: a "Log" tab on the work request detail page (shown only while `RUNNING`) that opens a WebSocket to `WorkRequestLogsConsumer` and streams task output live, with stderr in red and per-line timestamps.
Depends on !3259
{width=900 height=313}
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3300
commit b9ddbecbf42964c5603aa48ccbdf0a7936c72510
Author: Mohamed Ashraf <mohamed.code.13@gmail.com>
Date: Fri Aug 21 21:15:14 2026 +0000
added some tests for rejection paths
commit a5dc7755b9465de5ac8f8d24f63aec03cf37d1b4
Merge: 1a1d5cbc2 8c3dd635b
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Aug 21 21:15:01 2026 +0000
Log streaming redis for RunCommandTask tasks (MR !3087)
Instead of tailing log files, `_run_cmd()` now intercepts stdout and stderr through `os.pipe2(os.O_CLOEXEC)`. A dedicated reader thread per stream blocks on `read()` and wakes up immediately when data arrives. Each thread acts as a tee: writing lines to the log file and publishing them to a Redis Stream keyed by `task:logs:<work_request_id>`. Two paths are handled:
- **Combined** (`out_file is cmd_log`): one pipe, one thread, both streams merged
- **Separate** (`out_file is not cmd_log`): two pipes, two threads, stdout and stderr labeled independently
Logs are then forwarded from the worker to the server over the existing worker WebSocket via LogSender, and stored in the same Redis stream server-side (WorkerConsumer), with a 12h TTL and a 1000-entry cap. The Redis URL is now read from **LIVE_LOG_REDIS_URL** rather than hardcoded.
### Not covered yet
- Stream logs to the browser
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3087
https://salsa.debian.org/api/v4/projects/freexian-team%2Fdebusine API request failed: 401 Unauthorized at /srv/qa.debian.org/data/vcswatch/vcswatch line 410.