commit f20cd919a14ee0a78147eb7e8e885563687efa80
Merge: f6c06e668 2d0d8bf38
Author: Enrico Zini <enrico@debian.org>
Date: Fri Jul 10 10:09:49 2026 +0000
Mention extra groups in permission docs. Fixes: #1519 (MR !3196)
Closes #1519
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3196
commit 2d0d8bf3836e791d50d1e51896f1086b6fb57391
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Jul 6 14:44:45 2026 +0200
Mention extra groups in permission docs
commit f6c06e668a567fca7dfc442aed5b4c544160fe2a
Merge: 5ce741ce9 2c5593187
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 10 07:06:04 2026 +0000
Fix small typo in manage task config doc (MR !3208)
The created file is not called METADATA but MANIFEST.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3208
commit 5ce741ce963505a6907c9581550312b34aa45112
Merge: d6d5f1ec0 9056df5c6
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Jul 10 02:31:31 2026 +0000
systemd-boot-overlay: Don't install kernel if not applicable (MR !3204)
Trying to do so fails on Debian bullseye. At the moment we see it in
bullseye autopkgtests (debusine.debian.net instance), testbed setup
fails if ever the kernel is installed.
A minimal reproducer, in a Docker container, looks like that:
```
apt update
apt install -y systemd linux-image-amd64
kver=$(ls /boot/vmlinuz-* | cut -d- -f2-)
/usr/bin/kernel-install add $kver /boot/vmlinuz-$kver
```
Output:
```
install: cannot create regular file '/boot/f0b73be1967425f7a560d4e66a4efc7b/5.10.0-45-amd64/initrd': No such file or directory
Could not copy '/boot/initrd.img-5.10.0-45-amd64' to '/boot/f0b73be1967425f7a560d4e66a4efc7b/5.10.0-45-amd64/initrd'.
```
We can fix it by adding a guard, ie. what's already done in the systemd
package, in file `debian/extra/kernel/postinst.d/zz-systemd-boot` \[1\].
However, if we want to support older Debian releases (ie. from stretch
onward), we need to make it a bit more sophisticated.
Indeed, the bootctl verb 'is-installed' was added in v243. For prior
versions we can instead use the verb 'status'. However, we can't rely on
the exit code of the verb 'status', because it changed over time. When
running in a container, it returns 1 in systemd v232 (stretch), but it
returns 0 in systemd v241 (buster). So instead we match what's printed
to stderr, which works for both versions.
Note that the reproducer above doesn't fail for buster or stretch, it
fails only for bullseye, and it's caused by a Debian-specific script,
which was fixed in \[2\]. So we don't _really_ need the guard for other
Debian releases, but it shouldn't hurt either.
Fixes: https://salsa.debian.org/freexian-team/debusine/-/work_items/1521
* \[1\]: https://salsa.debian.org/systemd-team/systemd/-/blob/debian/master/debian/extra/kernel/postinst.d/zz-systemd-boot
* \[2\]: https://salsa.debian.org/systemd-team/systemd/-/commit/f1c9fdd98a102b5053c765f4ee41782e7df963de
Closes #1521
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3204
commit 2c559318742c0094dcd83afc9b588d9935084ff8
Author: Santiago Ruano Rincón <santiagorr@riseup.net>
Date: Thu Jul 9 22:44:48 2026 -0300
Fix small typo in manage task config doc
The created file is not called METADATA but MANIFEST.
commit d6d5f1ec095b371f0b861472e9dec05feb191af0
Merge: fced8bb1d 7cf2292e4
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 9 14:13:14 2026 +0000
Improve documentation of enable_regression_tracking's fail_on effects (MR !3200)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3200
commit 7cf2292e410ccf816b4ac6548829a5b7e09b6a72
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 9 14:32:50 2026 +0100
Explain effect of enable_regression_tracking on qa_failure_policy
commit fced8bb1d0e87b503bd12dd3b45e4038fe4938f0
Merge: 91bb58efa aa4361f6b
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 9 13:17:20 2026 +0000
vacuum_storage: Optimize scanning for empty directories to delete (MR !3206)
We can skip directories that the database thinks currently contain at
least one file, and the layout of local file stores means that we can
avoid scanning directories more than two levels below the root. In
combination, a prototype suggests that this should take minutes rather
than hours to run for large stores such as that on debusine.debian.net.
Fixes: #1523
Closes #1523
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3206
commit aa4361f6bde42c710351e62aeae6c8fcba0b8cc8
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 9 12:00:15 2026 +0100
vacuum_storage: Optimize scanning for empty directories to delete
We can skip directories that the database thinks currently contain at
least one file, and the layout of local file stores means that we can
avoid scanning directories more than two levels below the root. In
combination, a prototype suggests that this should take minutes rather
than hours to run for large stores such as that on debusine.debian.net.
Fixes: #1523
commit 9056df5c6e5d4afc34cc0bfd47f7fb7bac1dbde0
Author: Arnaud Rebillout <arnaudr@debian.org>
Date: Thu Jul 9 09:27:38 2026 +0700
systemd-boot-overlay: Don't install kernel if not applicable
Trying to do so fails on Debian bullseye. At the moment we see it in
bullseye autopkgtests (debusine.debian.net instance), testbed setup
fails if ever the kernel is installed.
A minimal reproducer, in a Docker container, looks like that:
```
apt update
apt install -y systemd linux-image-amd64
kver=$(ls /boot/vmlinuz-* | cut -d- -f2-)
/usr/bin/kernel-install add $kver /boot/vmlinuz-$kver
```
Output:
```
install: cannot create regular file '/boot/f0b73be1967425f7a560d4e66a4efc7b/5.10.0-45-amd64/initrd': No such file or directory
Could not copy '/boot/initrd.img-5.10.0-45-amd64' to '/boot/f0b73be1967425f7a560d4e66a4efc7b/5.10.0-45-amd64/initrd'.
```
We can fix it by adding a guard, ie. what's already done in the systemd
package, in file `debian/extra/kernel/postinst.d/zz-systemd-boot` [1].
However, if we want to support older Debian releases (ie. from stretch
onward), we need to make it a bit more sophisticated.
Indeed, the bootctl verb 'is-installed' was added in v243. For prior
versions we can instead use the verb 'status'. However, we can't rely on
the exit code of the verb 'status', because it changed over time. When
running in a container, it returns 1 in systemd v232 (stretch), but it
returns 0 in systemd v241 (buster). So instead we match what's printed
to stderr, which works for both versions.
Note that the reproducer above doesn't fail for buster or stretch, it
fails only for bullseye, and it's caused by a Debian-specific script,
which was fixed in [2]. So we don't _really_ need the guard for other
Debian releases, but it shouldn't hurt either.
Fixes: https://salsa.debian.org/freexian-team/debusine/-/work_items/1521
[1]: https://salsa.debian.org/systemd-team/systemd/-/blob/debian/master/debian/extra/kernel/postinst.d/zz-systemd-boot
[2]: https://salsa.debian.org/systemd-team/systemd/-/commit/f1c9fdd98a102b5053c765f4ee41782e7df963de
commit f30e6eb4f44158a575491df6aed44011a40af999
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jul 8 15:01:06 2026 +0100
Improve documentation of enable_regression_tracking's fail_on effects
commit 91bb58efaad03edf86324ec445d871b3ac5599ac
Merge: a82bf4b96 d0efb3ce2
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 7 16:21:08 2026 +0000
Pin teyit to Python 3.13 (MR !3198)
Works around https://github.com/isidentical/teyit/issues/23.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3198
commit d0efb3ce207f673f1a387079707cf8d5f0398fa4
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 7 11:37:26 2026 +0100
Pin teyit to Python 3.13
Works around https://github.com/isidentical/teyit/issues/23.
commit a82bf4b96f5b1657195c16c26ecb1c2bb7b60199
Merge: c27be3ffe 75823bfb3
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 6 14:18:34 2026 +0000
Require Django >= 5.2 and support 6.0 (MR !3188)
Fixes: #1093
Closes #1093
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3188
commit c27be3ffe970087d976b24a025df88f1deb0fef0
Merge: 9f60f2ab2 eea7a5219
Author: Stefano Rivera <stefanor@debian.org>
Date: Mon Jul 6 14:11:09 2026 +0000
Updating the live-log-streaming blueprint to support block chunking (MR !3177)
Update the blueprint to use block chunking for log streaming instead of the previous line-by-line approach.
This change aligns the blueprint with the decision made in the discussion on #854.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3177
commit eea7a52197e9ce48fec2fde99e35cf292ca98176
Author: Mohamed Ashraf <mohamed.code.13@gmail.com>
Date: Mon Jul 6 14:11:09 2026 +0000
Updating the live-log-streaming blueprint to support block chunking instead of line by line streaming
commit 9f60f2ab235a42f6957f4c66c0e4c0814c9583b0
Merge: 5b6587921 8d60de110
Author: Enrico Zini <enrico@debian.org>
Date: Mon Jul 6 14:05:11 2026 +0000
Remove non-tag-based scheduling code. Fixes: #1397 (MR !3193)
This removes:
* `can_run_on`
* the tasks' version of `analyze_worker`
* `analyze_external_worker_tasks`
* `analyze_celery_worker_tasks`
* `prefix_with_task_name`
* the `FEATURE_TAG_BASED_SCHEDULING` feature flag
Closes #1397
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3193
commit 5b65879218e9b241e19283e394ba16bfc85a0a5a
Merge: a55d29fbf 7920840a0
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 6 12:40:10 2026 +0000
`debusine archive packages`: Fix collection item data handling (MR !3195)
I wrote this code as if `CollectionItemData.data` would contain
serialized artifact data models, but of course that's not true; it
contains per-item data as defined by the collection category instead (in
this case,
https://freexian-team.pages.debian.net/debusine/reference/collections/specs/suite.html).
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3195
commit 75823bfb332ffb59d200564a31786c74c42354d9
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jul 1 17:17:19 2026 +0100
Stabilize order in db_worker_celery_or_token
We can safely patch the old migration rather than generating a new one,
as the generated SQL is equivalent.
commit 891d40ea8d808637f4741d973412ce0e8e2796ae
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jul 1 15:35:04 2026 +0100
Support Django 6.0
Fixes: #1093
commit 9bee0fad4411f9b483ff788e83b460ed7636b572
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jun 30 18:05:27 2026 +0100
Upgrade to mypy 2.1.0 and compatible django-stubs
As usual, this allows removing a number of old workarounds and requires
a few new ones.
commit b156b5020382710b5d43c63c2f3bfc1d6d7c4542
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jun 30 16:08:29 2026 +0100
Rely on some features of Django 5.2
commit f8c6a5256b2a11202427f33f0a2fccfd785eec15
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jun 30 14:56:31 2026 +0100
Require Django >= 5.2
Part of #1093.
commit 7920840a03360dfeec80910fe1a3b4aa33f2e087
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 6 10:32:41 2026 +0100
`debusine archive packages`: Fix collection item data handling
I wrote this code as if `CollectionItemData.data` would contain
serialized artifact data models, but of course that's not true; it
contains per-item data as defined by the collection category instead (in
this case,
https://freexian-team.pages.debian.net/debusine/reference/collections/specs/suite.html).
commit a55d29fbf1d8fe40a61b4aecf96e92c618a3e5ec
Merge: 5c9a48734 ffda70c87
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jul 6 09:09:38 2026 +0000
Workflows DebianPipeline, Qa and Piuparts: add support for `arch_all_expected_installable` (related #1174) (MR !3114)
Closes #1174
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3114
commit ffda70c873ff4c532571d8bec7353f19ba4a5dcc
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jul 6 09:09:38 2026 +0000
Workflows DebianPipeline, Qa and Piuparts: add support for `arch_all_expected_installable` (related #1174) (MR !3114)
commit 5c9a487344f656598e0e564d36e2783c88e97af3
Merge: a4a8f89b0 771d24a74
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 6 09:03:28 2026 +0000
DebianSignon: Allow explicitly-configured guest accounts (MR !3194)
Users in GitLab groups that are in the `add_to_group` provider option
may log in even if they are neither Debian Developers nor Debian
Maintainers.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3194
commit a4a8f89b0e5e089291767c3600469484884fd7b0
Merge: 645ba342a 170d226a2
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jul 6 06:42:45 2026 +0000
Workspaces: add field to set the "Description" (fixes #1304) (MR !3179)
Change Workspace model, change WorkspaceForm, render markdown and cleanup tags
with nh3. Display it in Workspace detail view and root archive detail view.
fixes #1304
Closes #1304
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3179
commit 170d226a260c779338f278c0267ad8849ed18adf
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jul 6 06:42:45 2026 +0000
Workspaces: add field to set the "Description" (MR !3179)
Change Workspace model, change WorkspaceForm, render markdown and cleanup tags
with nh3. Display it in Workspace detail view and root archive detail view.
fixes #1304
commit 645ba342ab827110bbcefe05b7e1a9f2e240107f
Merge: df48238db f8bb09d49
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jul 6 06:15:13 2026 +0000
LintianView: allow filtering Lintian tags by severity (fixes #1025) (MR !3189)
Closes #1025
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3189
commit 771d24a746237cf02a1eaf293530eb0817c9263d
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 3 14:07:42 2026 +0100
DebianSignon: Allow explicitly-configured guest accounts
Users in GitLab groups that are in the `guest_groups` provider option
may log in even if they are neither Debian Developers nor Debian
Maintainers.
commit df48238dbb7019296d9b18c64ebf522ceffaf735
Merge: 914154f74 16a7215a3
Author: Enrico Zini <enrico@debian.org>
Date: Fri Jul 3 14:29:07 2026 +0000
Added a new base template with UI shortcuts next to the page title. Fixes: #1465 (MR !3192)
Closes #1465
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3192
commit 914154f74bf1fb03703c487ab8e5d7c726294680
Merge: 166acbfd2 f1ba710d3
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 3 14:26:04 2026 +0000
update_suites: Grant the OWNER role on the workspace (MR !3186)
Adjust integration tests to exercise this.
Fixes: #634
Closes #634
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3186
commit 166acbfd26053d0bf0d862608032ed18da2c7043
Merge: 66cd18357 72edb26d5
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 3 13:09:30 2026 +0000
Work around bug when merging .changes files with long Binary fields (MR !3191)
Fixes: #1518
Closes #1518
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3191
commit 8d60de11076e32fc8a186ef787407b07b605d687
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 3 15:06:45 2026 +0200
Reworded in the tag-based way
commit a5daf708bd01db053620a70c36f2845eaed69d26
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 3 14:55:51 2026 +0200
Announce the change
commit 8b0ea454d5043dca283ba95cf7067173fc799d17
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 3 14:46:37 2026 +0200
Removed analyze_worker_all_executors
commit 5663f5461b2212c4c2677f597485a8be83fbb001
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 3 14:40:16 2026 +0200
Remove the FEATURE_TAG_BASED_SCHEDULING feature flag
commit 76a00d6c889413f5789284bdfdd9571f6d33413c
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 3 14:35:38 2026 +0200
Remove can_run_on, tasks' analyze_worker, analyze_external_worker_tasks, analyze_celery_worker_tasks, prefix_with_task_name
commit 66cd1835715bb745d0698ec521fb759f1fe85fc9
Merge: 83bebde7e a8314b9ce
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 3 12:07:49 2026 +0000
Avoid stuck sub-workflows if the root workflow becomes invalid later (MR !2950)
If a root workflow's orchestrator starts failing after initial orchestration, then the root workflow was marked as completed/error without doing anything about its descendants, which in some cases could result in the entire scheduler getting stuck. Handle this case more gracefully by aborting all the unterminated descendants of such a root workflow, both when encountering the error in the first place, and in the scheduler for extra robustness.
Fixes: #1366
Closes #1366
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2950
commit 16a7215a3ca299fbbabd6933c207627228f6c92e
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 3 13:29:54 2026 +0200
Added a new base template with UI shortcuts next to the page title. Fixes: #1465
commit a8314b9cecb15c5127a1ce9d21923b28d2f6e046
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Apr 15 15:25:18 2026 +0100
scheduler: Abort stuck sub-workflows
If a pending sub-workflow has a root workflow that has already been
completed or aborted, then it can never make any further progress (at
least without a manual retry) since workflow orchestrators are always
run via the root workflow. Detect such cases and clean up the stray
work requests.
Fixes: #1366
commit 745b878a697e327b6239ad07bfb61aac8996d46f
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Apr 15 14:12:46 2026 +0100
Abort descendants of a workflow when marking it as completed/error
Part of #1366.
commit 24ed36794b35846239c6798237c9acce0cd891e6
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Apr 15 13:28:38 2026 +0100
debian_pipeline tests: Improve data validity
commit 3e0ce7fc23ac5efddc970e8f06c565a261e1b6e9
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Apr 15 13:03:30 2026 +0100
Pass user from callers of WorkRequest.abort
commit 0916a710cdb974ebc91f9bfa7af53d3141e7e1d5
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Apr 15 12:43:51 2026 +0100
Simplify WorkRequest.abort slightly
commit 83bebde7e38557fc0ab0abb7576b01b494eb9703
Merge: fa1f9c467 66c07d1f9
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 3 09:20:07 2026 +0000
Improve documentation and practice for running Debusine locally (MR !3037)
Reviewing commit by commit will be best.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3037
commit 72edb26d55f1759fa2259f314ab23f90c4d9978b
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 3 10:04:25 2026 +0100
Work around bug when merging .changes files with long Binary fields
Fixes: #1518
commit fa1f9c467dac2546a34dff4946390635b5ccc7df
Merge: bde32eef1 97df3d8fa
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 2 22:07:12 2026 +0000
collection-item-detail.html: fix missing table row for artifact collection items (MR !3190)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3190
commit 66c07d1f974624b6f447a7d83e935317a743667d
Author: Antonio Terceiro <antonio@freexian.com>
Date: Fri May 15 11:43:35 2026 -0300
settings: development: prepend optional development apps
This makes it possible for those apps to override e.g. management
commands from the Django defaults.
commit 44c3f51fcb25057d3e2fc2c55b17202e9dda9430
Author: Antonio Terceiro <antonio@freexian.com>
Date: Thu May 14 19:20:45 2026 -0300
settings: use daphne in development
daphne has been replaced by gunicorn + uvicorn for production usage in
commit d7fcf6065 ("Port to uvicorn"), but it's still useful in
development environments because it provides a `runserver` replacement
that has websockets support.
commit 8b2277cf42fb38168b13c3e7bdf8860ff263f8fb
Author: Antonio Terceiro <antonio@freexian.com>
Date: Wed May 13 17:03:14 2026 -0300
docs/howtos/contribute.rst: ensure non-scheduler celery worker doesn't schedule
commit 559d3ad42fb4d7effc9cab73f2c439d6f92e8f68
Author: Antonio Terceiro <antonio@freexian.com>
Date: Wed May 13 17:02:20 2026 -0300
worker: allow logging to stderr
This is useful when you want to run the Debusine components locally, and
you want the worker to log to the terminal instead of the systemd
journal.
commit 97df3d8faeb21972a18fbccf8511b6d738d1148c
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Jul 2 17:04:40 2026 +0100
collection-item-detail.html: fix missing table row for artifact collection items
commit bde32eef13ee6f2ede5994a0500c0212e33e503a
Merge: f4d8a7a9e 3f8150d25
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 2 15:58:55 2026 +0000
utils: share YAML dumper for multiline strings (MR !3184)
closes: #1516
Move LiteralBlockDumper to the shared YAML utilities module so it can be
reused across the codebase.
update the client, web UI, and YamlEditor to use the shared dumper,
ensuring multiline strings are consistently emitted using YAML literal
block style.
Closes #1516
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3184
commit 3f8150d2522c28e5805f4ba2896cf9d75f96f78e
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Thu Jul 2 21:28:54 2026 +0530
utils: share YAML dumper for multiline strings
closes: #1516
Move LiteralBlockDumper to the shared YAML utilities module so it can be
reused across the codebase.
update the client, web UI, and YamlEditor to use the shared dumper,
ensuring multiline strings are consistently emitted using YAML literal
block style.
commit f8bb09d491320c7ea6cc4f914e1a82a47096e012
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Jul 2 16:14:44 2026 +0100
LintianTab: move logic to decide which tag-filters are "disabled" or "checked" from the template to the view
commit 29f4f06c98a5cfeaaea047b769b58493df175697
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue Jun 30 15:51:05 2026 +0100
LintianView: allow filtering Lintian tags by severity
fixes #1025
commit f4d8a7a9e903963421cf6fe8827ca4b71f4cc049
Merge: ab7578b65 0fc1e6867
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 2 10:34:29 2026 +0000
doc: Don't check links under https://gitlab.com/freexian/ (MR !3187)
We have one of these in the instructions for release managers, but it
requires authentication.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3187
commit ab7578b6528a8a2e2f14272b451d614544fbb5fa
Merge: 03b43e353 7d78cff05
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 2 10:34:19 2026 +0000
Ignore a warning from aiohttp on forky (MR !3185)
I've reported it upstream, but we can't do anything about it ourselves.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3185
commit 0fc1e68675528e4ce200cdeeb0daff7b5770e012
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jul 1 18:10:49 2026 +0100
doc: Don't check links under https://gitlab.com/freexian/
We have one of these in the instructions for release managers, but it
requires authentication.
commit f1ba710d3dd4815b092fe71184bf2ace311bb071
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jun 29 22:50:02 2026 +0100
Integration tests: Exercise workflows granting extra permissions
Fixes: #634
commit c203b72cacc4564087b15f25295ae0054e32221a
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jun 29 22:49:44 2026 +0100
update_suites: Grant the OWNER role on the workspace
commit 92223817904e514147c6d017065e1633dbf27a2e
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jun 29 22:44:13 2026 +0100
Allow workflows to grant additional workspace roles
This could be extended to other resources as well, but for now this is
all we need.
commit 03b43e353e2da7e451f63764a7251fb583bfc746
Merge: 39ec9f0ff 2569a852a
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jul 1 14:17:26 2026 +0000
Simplify delegation of role queries (MR !3181)
The `*RoleBase.q` methods are now classmethods that return conditions
for whether the permission context has any of multiple roles, allowing
workspace and scope role queries to be handled by delegating to the
appropriate methods rather than duplicating their logic.
The compiled queries should remain essentially unchanged.
Part of #1494.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3181
commit 7d78cff058bf1f4e1964cab8812dd1093d3a7f3e
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jul 1 14:50:38 2026 +0100
Ignore a warning from aiohttp on forky
I've reported it upstream, but we can't do anything about it ourselves.
commit 2569a852a6164c3fa994ab09551bcfba80275788
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jun 29 21:54:12 2026 +0100
Simplify delegation of role queries
The `*RoleBase.q` methods are now classmethods that return conditions
for whether the permission context has any of multiple roles, allowing
workspace and scope role queries to be handled by delegating to the
appropriate methods rather than duplicating their logic.
The compiled queries should remain essentially unchanged.
Part of #1494.
commit 39ec9f0ff269d17a5035eb2795e7105a345048b3
Merge: 34d8bf4e6 509935fb3
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue Jun 30 13:58:02 2026 +0000
Lintian fix severity template (MR !3183)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3183
commit 34d8bf4e671ea1ad050be99883e02051cc95a9b3
Merge: 71ee26b0c 37e25f6e3
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jun 30 12:32:33 2026 +0000
Add `debusine archive package` commands (MR !3174)
To support this, we have new APIs to list, show, and remove collection items. These are more generic than just dealing with packages in suites, but for now we only have porcelain commands to deal with that particular use case.
Fixes: #1242
Closes #1242
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3174
commit 71ee26b0c75fc57c605ac81b7260f67a14704fe1
Merge: 1fb7d1f2c abde53ab8
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jun 30 12:20:09 2026 +0000
pre-commit: Update to ruff 0.15.20 and djlint 1.39.5 (MR !3182)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3182
commit 509935fb37a92297c580aad24a1028f17bbdf6ef
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue Jun 30 12:42:21 2026 +0100
Lintian tag severity template: show severity on hover
commit 43f3733880e39a0cfd3de814ed4b427571cab259
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue Jun 30 12:38:40 2026 +0100
Lintian tag severity template: fix "overridden" severity
commit abde53ab8aca6a3b2914910ef16da0a36f317d7a
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jun 30 12:07:24 2026 +0100
pre-commit: Update to ruff 0.15.20 and djlint 1.39.5
commit 37e25f6e336614318a486c962f023ebd71a08a70
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jun 30 11:33:20 2026 +0100
Refactor misleadingly-named parameter in collection view tests
commit 3c36177f583e243874c2329d4b0aa6b6c5821b19
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jun 25 15:45:02 2026 +0100
Add `debusine archive package` commands
Fixes: #1242
commit 6e0812b82326b32bf619a4a6e6624329fb01a325
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jun 25 11:26:10 2026 +0100
Add APIs to list, show, and remove collection items
commit a24336a8a6a246c01c6bec650ec8fc40b3ab9dd6
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jun 25 11:24:45 2026 +0100
Add category to collection items in API responses
commit 67935411aa63496ca813a87b0ae52e02a112714c
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jun 25 09:31:20 2026 +0100
Disable REST framework's format-suffixed routes on viewsets
We don't need these, and they get in the way of using "." for other
purposes in the last URL segment.
commit 2ccd7a2149446bab16b9f560917866c4847cb22f
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jun 24 16:00:10 2026 +0100
Push update_suites workflow creation down to DebianSuiteManager
commit 3cf5b016539ee711c8d3fa691e442167093d083f
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jun 24 13:54:33 2026 +0100
Add CollectionItem.can_delete permission
commit 0b4eb04edb3327b1ec28778caa7e2ef7c345fb7d
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jun 24 13:33:06 2026 +0100
Allow removing associated binaries from a suite along with source
commit 1fb7d1f2c923c0f60663f6d5605eb56a9dfffac2
Merge: a819eaf87 ffc22e690
Author: Stefano Rivera <stefanor@debian.org>
Date: Mon Jun 29 14:17:27 2026 +0000
Staging testing, Dogfooding, and enterprise release process (MR !3175)
We don't have a usable staging environment quite yet, but here's how I see it being used.
We can also try a slightly more formal regular dogfooding release process. This may be more heaveyweight than we really want.
In the long term I'd like to see us move towards much more frequent releases, without needing to involve the IT team. But to get there I think we need to build confidence with them first, with the staging environment.
The staging part of the documentation is very high-level for now. I suspect deployment will initially be done manually over ssh. But I'd like to see that become fully automated too.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3175
commit a819eaf8712bf64269483728e33bb91d4cea818c
Merge: b732906cd bb7b85da5
Author: Raphaël Hertzog <hertzog@debian.org>
Date: Mon Jun 29 11:59:24 2026 +0000
client: use YAML literal block style for multiline client output (MR !3178)
Represent multi-line strings in the client's YAML output using YAML literal block scalars (`|`) instead of quoted multi-line strings.
This improves the readability of output from commands such as "debusine workflow-template show --yaml" where fields such as PGP public keys are currently emitted as quoted multi-line strings with extra blank lines.
Closes #1500
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3178
commit bb7b85da55d0670220ff5a972ab691b2c2273d36
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Mon Jun 29 17:29:24 2026 +0530
client: use YAML literal block style for multiline client output
commit b732906cdbc08059d71d073d7816ec09e330f2b5
Merge: cc46f03ab 4121f6dca
Author: Enrico Zini <enrico@debian.org>
Date: Mon Jun 29 08:47:01 2026 +0000
Update task configuration reference to match behaviour after introducing matching by tags (MR !3140)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3140
commit 4121f6dca5d91d2550b0425f7932300b43a36dd2
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Jun 29 09:39:41 2026 +0200
Simpler ordering explanation
commit 4d77b64a485cecb968fa72237920dd513919a1de
Author: Raphaël Hertzog <raphael@freexian.com>
Date: Sun Jun 28 16:20:52 2026 +0200
task configuration: create an explanation page and move some parts there
commit 79583d4cd46dca66f140b58418e312fcfeab1903
Author: Raphaël Hertzog <raphael@freexian.com>
Date: Sun Jun 28 16:25:00 2026 +0200
task configuration: move examples from reference to howto
And expand on the examples to make them realistic and gradually introduce
the various concepts.
commit bace7b9a5a99e07dbb7ef394b15a07281af4fa7f
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jun 12 09:09:03 2026 +0200
Update task configuration reference to match behaviour after introducing matching by tags
commit ffc22e69000281c781e71b8a6a7dc33851270ef7
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Jun 25 17:32:13 2026 -0400
Describe staging testing
commit 090671a8fc61144fc0141932ed5a370c69f2cd72
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Jun 25 17:21:13 2026 -0400
Process for releasing dogfood to debusine.debian.net (and enterprise)
commit cc46f03abc15c24b3cf5c4fb67d56643025a157e
Merge: ebc87d144 9e175d957
Author: Stefano Rivera <stefanor@debian.org>
Date: Sun Jun 28 15:26:45 2026 +0000
Reject source-only uploads with non-source .buildinfo files (MR !3176)
A source-only upload (Architecture: source) that references a binary
.buildinfo file (e.g. foo_amd64.buildinfo) was previously accepted but
would later fail in the MergeUploads task. When the original source
upload is merged with the binaries built during the pipeline, the merge
finds two conflicting entries for the same .buildinfo filename (the
uploaded one vs. the freshly built one) and raises MergeUploadsError.
Reject these uploads early in the DebianUpload metadata validation
instead of renaming the file, so the user gets immediate feedback at
upload time. Mixed source+binary uploads are unaffected, as they
legitimately carry a binary .buildinfo.
Fixes: #1488
Signed-off-by: Christopher Obbard <obbardc@debian.org>
Closes #1488
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3176
commit 9e175d95752abb99f616ba68379f343940bf2b0e
Author: Christopher Obbard <obbardc@debian.org>
Date: Sun Jun 28 06:14:24 2026 +0100
Reject source-only uploads with non-source .buildinfo files
A source-only upload (Architecture: source) that references a binary
.buildinfo file (e.g. foo_amd64.buildinfo) was previously accepted but
would later fail in the MergeUploads task. When the original source
upload is merged with the binaries built during the pipeline, the merge
finds two conflicting entries for the same .buildinfo filename (the
uploaded one vs. the freshly built one) and raises MergeUploadsError.
Reject these uploads early in the DebianUpload metadata validation
instead of renaming the file, so the user gets immediate feedback at
upload time. Mixed source+binary uploads are unaffected, as they
legitimately carry a binary .buildinfo.
Fixes: #1488
Signed-off-by: Christopher Obbard <obbardc@debian.org>
commit ebc87d144b088952f4e72d985bd836ced31ad8f3
Merge: fb094d9c2 e0c8bb1ee
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jun 26 12:13:55 2026 +0000
add metric for age of pending work requests (MR !3134)
the existing `debusine_work_request_start_latency` metric records how long work requests waited between becoming pending and starting execution, but it is only emitted when a work request is marked running...!
Add a database-backed OpenMetrics histogram, `pending_work_request_age`, reporting the age of currently pending work requests based on the difference between teh current time and their `pending_at` timestamp.
this provides visibility into the current state of the queue and can help identify when pending work requests are backing up!
Use the existing `BUCKET_DAYS` thresholds for histogram buckets nd add tests covering the generated bucket counts.
closes: #1486
Closes #1486
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3134
commit e0c8bb1ee58626c6937d6427c3458c944d475e90
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Thu Jun 25 09:54:12 2026 +0000
metric: address review feedback for pending work request age
Rename the metric to work_request_pending_age to match the naming
convention used by other metrics
reuse the existing WORK_REQUEST_LATENCY_BUCKETS constant from
work_requests.py, document the metric with its units, and update the
tests to use the new bucket thresholds.
commit fb094d9c2a66e250e3c2cf03b76de0e85835adaa
Merge: 0d1622b98 5bbbcdae3
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jun 25 23:20:31 2026 +0000
edit: UI decluttering and imperative tone change (MR !3171)
Before:
{width=900 height=507}
After:
{width=900 height=507}
Please let me know it if this was an intended feature and I should drop this MR.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3171
commit 0ad5eb10f56760e737c4a1a8da4b7d2da88749d6
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Jun 25 16:53:29 2026 -0400
Additional tasks for time-based releasese preparation
commit 3588e5539a463a56aa19a7f9ba8c155c6bff42cc
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Jun 25 16:47:24 2026 -0400
Document the existance of Debusine enterprise
commit 0d1622b98162ae1b3359c5c2680fb02103b12254
Merge: fe5bc66e8 c2354d0c3
Author: Stefano Rivera <stefanor@debian.org>
Date: Thu Jun 25 13:01:00 2026 +0000
Break the slow fsck parts out of vacuum_storage (MR !3172)
We do depend on `vacuum_storage` being run frequently, and it doesn't make sense to do a full scrub every day.
Fixes: #724
Closes #724
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/3172
commit c2354d0c3fdd62cc3c0cacef10811033d8c58b1d
Author: Stefano Rivera <stefano@freexian.com>
Date: Tue Jun 23 13:42:16 2026 -0400
Allow running the `fsck` commond on a single store.
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.