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 36c3dd0fdf05f95914bf194beecc572c08002046
Merge: 919835ea8 82ee01ed2
Author: Enrico Zini <enrico@debian.org>
Date: Fri Dec 12 18:33:24 2025 +0000
CLI: use the server-provided collection category index URL (MR !2490)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2490
commit 919835ea8272ccb2279b652492ec5ad6ef9aface
Merge: 4979fd294 a3ef9c032
Author: Enrico Zini <enrico@debian.org>
Date: Fri Dec 12 15:47:17 2025 +0000
Fix a migration conflict (MR !2512)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2512
commit 4979fd29420c0698e6de0218a22310fddb8aedd7
Merge: ce3cfd0b9 08e763aa3
Author: Enrico Zini <enrico@debian.org>
Date: Fri Dec 12 15:33:25 2025 +0000
Rework regression analysis slightly to make the UI easier (MR !2511)
In discussion with Enrico, we realized that the job of the regression
analysis UI would be significantly easier if it had the relevant
artifact IDs available to it directly rather than needing to do its own
lookups to find them. We originally stored the URLs here, but I believe
that was mainly because at the time of the original design the result
might have been either an artifact or a bare data item, which meant that
using a more natural reference was hard.
However, the one case where a result might have been a bare data item
was fixed in
https://salsa.debian.org/freexian-team/debusine/-/issues/805, and it was
a bit weird to generate URLs outside of the web UI code anyway, so store
artifact IDs instead.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2511
commit a3ef9c03225cb3c962c55c620e68dc067036357a
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Dec 12 16:16:10 2025 +0100
Fix a migration conflict
commit 08e763aa397ca9a6c2cf62904767b7fa5becec3b
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 14:51:57 2025 +0000
Rework regression analysis slightly to make the UI easier
In discussion with Enrico, we realized that the job of the regression
analysis UI would be significantly easier if it had the relevant
artifact IDs available to it directly rather than needing to do its own
lookups to find them. We originally stored the URLs here, but I believe
that was mainly because at the time of the original design the result
might have been either an artifact or a bare data item, which meant that
using a more natural reference was hard.
However, the one case where a result might have been a bare data item
was fixed in
https://salsa.debian.org/freexian-team/debusine/-/issues/805, and it was
a bit weird to generate URLs outside of the web UI code anyway, so store
artifact IDs instead.
commit ce3cfd0b9a4aa5a8325706ccd64b82eee1ff3329
Merge: c2ffab23e b05041e73
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 14:49:52 2025 +0000
Fix migration 0036 to handle null WorkRequest.configured_task_data (MR !2510)
Fixes: #1210
Closes #1210
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2510
commit c2ffab23e78442429e7f1f9f4e2f3d91ab27f5a9
Merge: 25b428a07 693af07b9
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 14:45:15 2025 +0000
APTMirror: Allow rewinding versions (MR !2509)
It's not this task's job to decide whether the suite may rewind
versions; it should just make it look like the upstream suite. Fixes a
regression caused by !2479.
I used a context manager here rather than a simple parameter because the
design of collection managers means that parameters have to be generic
across all collection categories.
Fixes: #1209
Closes #1209
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2509
commit 25b428a07f4e9d2baa8208c45099237c11d009a2
Merge: c31c82ce7 4e228d15a
Author: Enrico Zini <enrico@debian.org>
Date: Fri Dec 12 14:32:58 2025 +0000
Add a UI view to create, configure and delete a collection (MR !2426)
Visible at https://playground-2426.debusine.dev/debusine/Playground/collection/debian:suite/play_bookworm/
when logged in, "Configure" and "Delete" buttons appear.
In the workspace view, a "Create collection" button appears.
Fixes: #787, #788
Closes #788 and #787
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2426
commit 4e228d15a37017ae5c18ef18b976dfb0b1e803c9
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Nov 21 20:07:15 2025 +0100
Added collection create, update and delete views
commit b05041e732ff2aecf3a57b5a1f260e6b42477576
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 13:33:49 2025 +0000
Fix migration 0036 to handle null WorkRequest.configured_task_data
Fixes: #1210
commit c31c82ce7f2af2ee5ba294cfd9aef31c40b61050
Merge: 1ed63a824 a53eaf06d
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 11:54:28 2025 +0000
Generalize experiment workspaces to take a prefix (MR !2508)
There are multiple reasons to allow contributors to a workspace to create other workspaces based on it: one is for experiments, but another possibility is so that they can create add-on repositories which are intended to be longer-lived. `create_experiment_workspace` could sort of be used for that, but its approach to namespacing was a bit awkward.
Rename the `create_experiment_workspace` task and workflow to `create_child_workspace`, allow them to take a prefix which defaults to the base workspace name (rather than always being the base workspace name, as was previously the case), and rename `experiment_name` to `suffix`.
In addition, since being able to create or update templates of this workflow effectively amounts to delegating the ability to create workspaces, require the `can_create_workspace` permission on the scope (i.e. scope owner) in this special case.
Fixes: #964
Closes #964
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2508
commit 693af07b98605fb542e3b38841c07dde4ef5e8ae
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 11:26:31 2025 +0000
APTMirror: Allow rewinding versions
It's not this task's job to decide whether the suite may rewind
versions; it should just make it look like the upstream suite. Fixes a
regression caused by !2479.
I used a context manager here rather than a simple parameter because the
design of collection managers means that parameters have to be generic
across all collection categories.
commit 1ed63a824c9e7a85e96705034f9a7cf455bf5e87
Merge: 7c3bbcaa0 6379e2732
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 11:19:39 2025 +0000
Start using django-pgtransaction (MR !2492)
This will eventually let us do more interesting things such as
serializable transactions with retries on serialization failures, but
for now it just replaces a small amount of home-grown code.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2492
commit 7c3bbcaa0b757786b9a3d7495c72cc757a02e912
Merge: 8fbf45e84 773f36afa
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Dec 12 03:54:24 2025 +0000
EC2: Fix terminate_missing (MR !2507)
I missed a bug in `terminate_missing`, when there's a registered worker pool member that isn't currently active.
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/celery/app/trace.py", line 453, in trace_task
R = retval = fun(*args, **kwargs)
~~~^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/celery/app/trace.py", line 736, in __protected_call__
return self.run(*args, **kwargs)
~~~~~~~~^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/contextlib.py", line 85, in inner
return func(*args, **kwds)
File "/usr/lib/python3/dist-packages/debusine/server/provisioning.py", line 461, in scrub
scrub_workers()
~~~~~~~~~~~~~^^
File "/usr/lib/python3/dist-packages/debusine/server/provisioning.py", line 420, in scrub_workers
pool.provider_interface.terminate_missing()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3/dist-packages/debusine/server/worker_pools/amazon_ec2.py", line 145, in terminate_missing
InstanceIds=list(sorted(instance_ids.keys()))
~~~~~~^^^^^^^^^^^^^^^^^^^^^
TypeError: '<' not supported between instances of 'str' and 'NoneType'
```
Part of: #1203
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2507
commit a53eaf06d97534f833ae9f04d7133281d39166db
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 01:10:43 2025 +0000
Only allow scope owners to manage create_child_workspace workflows
Fixes: #964
commit dd19289c7ad4be19248b8718fab05c1dab95c62d
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 00:37:38 2025 +0000
Rename create_experiment_workspace workflow to create_child_workspace
It now takes an optional `prefix`.
commit 388b28cf42f66ed6730e72cd93ae01e6b86418b5
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 00:31:38 2025 +0000
Freeze workflow parameters used by 0034
This migration needs to consider the fields that were available for each
workflow at the relevant point in Debusine's history, not the ones that
are available now. Add a mechanically-generated snapshot so that it has
that information.
commit 019edac3f7aca5cadd9e8035c2ad329a6dc1a932
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Dec 11 18:01:29 2025 +0000
Rename CreateExperimentWorkspace task to CreateChildWorkspace
It now takes an explicit `prefix`, and I renamed `experiment_name` to
the more generic `suffix`.
commit 8fbf45e842bc829b7e42775c840d2c81c40e69ba
Merge: 4ddbe7f9b bbe570b28
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 12 01:39:15 2025 +0000
Create work requests as blocked by default (MR !2500)
This means that work requests must always go through
`WorkRequest.mark_pending` to reach the `PENDING` status.
User-facing methods of creating work requests and workflows (the
`debusine-admin create_work_request` and `debusine-admin
create_workflow` commands, `POST` to `/api/1.0/work-request/` and
`/api/1.0/workflow/`, and `POST` to
`/:scope/:workspace/work-request/create/`) must now explicitly mark the
new work request as pending, and similarly any workflows that trigger
other workflows (currently only `package_publish`).
Part of #1195.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2500
commit bbe570b283a0703cd716e4ec7b8e2db9c1bddf93
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 10 12:33:44 2025 +0000
Create work requests as blocked by default
This means that work requests must always go through
`WorkRequest.mark_pending` to reach the `PENDING` status.
User-facing methods of creating work requests and workflows (the
`debusine-admin create_work_request` and `debusine-admin
create_workflow` commands, `POST` to `/api/1.0/work-request/` and
`/api/1.0/workflow/`, and `POST` to
`/:scope/:workspace/work-request/create/`) must now explicitly mark the
new work request as pending, and similarly any workflows that trigger
other workflows (currently only `package_publish`).
Part of #1195.
commit 773f36afa2a609be0394906614f02488f2896fb8
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Dec 11 17:45:49 2025 -0400
Avoid needing to sort instance-ids just for the test
commit 4b08b1428cc23cc776849c758bf2d2b5979c4ed7
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Dec 11 17:35:55 2025 -0400
terminate_missing(): Only consider active instances
commit 4ddbe7f9b076e928065fdb8ebe12f9476afa9d0a
Merge: 4747a27eb a5a795dda
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Dec 11 16:48:05 2025 +0000
Allow "-" in experiment workspace names (MR !2481)
When we initially defined experiment workspace creation, we thought that
it might be helpful to disallow experiment names from containing the
character that separates the base workspace name from the experiment
name, to avoid possible namespace confusion for humans (e.g. is
`debian-stable-cjwatson` an experiment based on the `debian` workspace
or on the `debian-stable` workspace?).
But ending up with workspace names with alternating punctuation such as
`developers-cjwatson_test` is worse than this minor confusion. Remove
this restriction.
Fixes: #964
Closes #964
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2481
commit a5a795dda36fed60aaa1cd1a559c7cf559446691
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Dec 4 09:32:34 2025 +0000
Allow "-" in experiment workspace names
When we initially defined experiment workspace creation, we thought that
it might be helpful to disallow experiment names from containing the
character that separates the base workspace name from the experiment
name, to avoid possible namespace confusion for humans (e.g. is
`debian-stable-cjwatson` an experiment based on the `debian` workspace
or on the `debian-stable` workspace?).
But ending up with workspace names with alternating punctuation such as
`developers-cjwatson_test` is worse than this minor confusion. Remove
this restriction.
Fixes: #964
commit 4747a27ebe04875438786751e04df32d4ff50bf8
Merge: 2993e0b60 c6651abe1
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Dec 11 16:02:44 2025 +0000
pre-commit: Update pyupgrade and black (MR !2505)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2505
commit 2993e0b6083fb0c74ad25e2a0ee98c9690b0d2b0
Merge: 3a1e4180e a5fcf36f3
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Dec 11 15:19:14 2025 +0000
Optimize filtering for workflows with failed work requests (MR !2504)
Part of #656 and #1206.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2504
commit c6651abe19a12502e21b8ef6a902382e499601bc
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Dec 11 15:02:45 2025 +0000
pre-commit: Update pyupgrade and black
commit a5fcf36f316273e536b0d8733f368f871a99985c
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Dec 11 14:11:03 2025 +0000
Optimize filtering for workflows with failed work requests
Part of #656 and #1206.
commit 45556acf67dfc5300c9bc427486fb35986b6a2d8
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Dec 11 13:56:44 2025 +0000
Turn workflow_flattened into a bulk method
It now operates on a queryset and annotates each returned row with the
ancestor it started from, so you can usefully use it on multiple work
requests at once.
commit 3a1e4180e9a008f31b31e10a4075aea9ececbb84
Merge: 8f7627fe9 3b7df55a6
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Dec 11 13:04:37 2025 +0000
Treat archives as suites' parents without an explicit relationship (MR !2464)
In #1101, we changed suites to be visible as (effectively) children of
archives even if they aren't actually part of the archive collection,
unless they have `exported: False` in their data. However, I missed a
few places where we go the other way: getting signing keys for a suite
looks them up from the archive if they aren't explicitly configured on
the suite, and the `APTMirror` task looks up the parent archive for the
purposes of enforcing version reuse constraints.
Change these to just look for an archive in the same workspace instead.
I didn't bother to check the `exported` flag in this case, since a suite
with `exported: False` is still part of an archive in the same workspace
for these purposes; it just isn't currently visible.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2464
commit 8f7627fe9f4613526968a145a0006638de1d7d87
Merge: 937251e3e a0ca9446d
Author: Stefano Rivera <stefanor@debian.org>
Date: Thu Dec 11 13:03:11 2025 +0000
Worker Pool: Periodically clean up missing workers (MR !2502)
Find MIA workers in a pool and terminate them.
Also, run the provisioner inside a transaction.
Fixes: #731.
Closes #731
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2502
commit 3b7df55a6c1233b15298934d24cf8fd7379fafc8
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Nov 27 14:49:09 2025 +0000
Treat archives as suites' parents without an explicit relationship
In #1101, we changed suites to be visible as (effectively) children of
archives even if they aren't actually part of the archive collection,
unless they have `exported: False` in their data. However, I missed a
few places where we go the other way: getting signing keys for a suite
looks them up from the archive if they aren't explicitly configured on
the suite, and the `APTMirror` task looks up the parent archive for the
purposes of enforcing version reuse constraints.
Change these to just look for an archive in the same workspace instead.
I didn't bother to check the `exported` flag in this case, since a suite
with `exported: False` is still part of an archive in the same workspace
for these purposes; it just isn't currently visible.
commit a0ca9446de9ce4038c516a4317ab9f754e06a180
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Dec 11 08:16:02 2025 -0400
Override WorkerPoolInterface with @override
Drop duplicated docstrings in the process.
commit de7fb02e2532deed8f3c27624288d09dd2f898a1
Author: Stefano Rivera <stefano@freexian.com>
Date: Wed Dec 10 17:12:24 2025 -0400
Run a worker pool instance scrub every 15 minutes
Right now all this does is call terminate_missing() but it could be
extended, later.
Fixes: #731
commit 15b340fa95558631cf598698779b3053ed1961e0
Author: Stefano Rivera <stefano@freexian.com>
Date: Wed Dec 10 16:58:04 2025 -0400
Run the provisioner in a transaction
commit 25510c7bdaef4c9fcb07352ee83455ae0995853a
Author: Stefano Rivera <stefano@freexian.com>
Date: Wed Dec 10 16:56:57 2025 -0400
Worker Pool API: Add terminate_missing()
Find MIA workers in a pool and terminate them.
commit 937251e3e2cb80691abba05c5405a1caaf228435
Merge: 5eed067bc d09ef62b1
Author: Stefano Rivera <stefanor@debian.org>
Date: Thu Dec 11 12:07:17 2025 +0000
We have an enabled filter on the manager, use it (MR !2503)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2503
commit d09ef62b109e3c4035859c87870b7ab48ab3b153
Author: Stefano Rivera <stefano@freexian.com>
Date: Wed Dec 10 18:26:56 2025 -0400
We have an enabled filter on the manager, use it
commit 5eed067bca0737ca2a488bc388fcbd19c8dd720a
Merge: 62fd9adcf 2a912a899
Author: Stefano Rivera <stefanor@debian.org>
Date: Wed Dec 10 22:16:08 2025 +0000
configure-worker-incus.sh: Don't fail if we can't restart debusine-worker (MR !2501)
In the Cloud Worker cloud-init config we mask debusine-worker.service
before running this script. So the restart will fail. Ignore the
failure.
Part of: #1203
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2501
commit 2a912a89942107e31b8650346ee72419e63611dd
Author: Stefano Rivera <stefano@freexian.com>
Date: Wed Dec 10 15:01:13 2025 -0400
configure-worker-incus.sh: Don't fail if we can't restart debusine-worker
In the Cloud Worker cloud-init config we mask debusine-worker.service
before running this script. So the restart will fail. Ignore the
failure.
Part of: #1203
commit 62fd9adcfb2963f4efd5b275c21acc6a841d4ab6
Merge: fe6fff109 76c356c2c
Author: Stefano Rivera <stefanor@debian.org>
Date: Wed Dec 10 12:49:16 2025 +0000
EC2 Worker Pools: Enable IMDSv2 (MR !2499)
Forgot to include in yesterday's MR.
Background: https://aws.amazon.com/blogs/security/get-the-full-benefits-of-imdsv2-and-disable-imdsv1-across-your-aws-infrastructure/
Part of: #1203
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2499
commit 42f8b8079a2ea1b05d8beb2a616e12a51a98c940
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 10 12:30:57 2025 +0000
Test that work request creation frontends set status to pending
commit 2e12f9e1a653d5a5d46fdbad1dff6627251b8320
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 10 12:05:59 2025 +0000
Add more test abstractions for create_{work_request,workflow} commands
commit fe6fff109aa1cd16d7a0dc71a827d0c9d1e23a90
Merge: 683425e92 3d144edef
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 10 10:02:47 2025 +0000
Allow failures from debrebuild rather than reprotest (MR !2498)
The Salsa CI pipeline changed to use `debrebuild` rather than
`reprotest`. Allow failures from it instead, since snapshot.debian.org
occasionally fails for reasons we can't do anything about.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2498
commit 683425e92fa2cca91f94aae7d1b9e8725140ee2e
Merge: f5e0e8370 dcd410390
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 10 10:02:20 2025 +0000
playground: Create work requests blocked by default (MR !2497)
We eventually want to get to the point where work requests always go
through `mark_pending` to reach the `PENDING` status. As a starting
point, rework most tests that use the playground to behave that way.
Part of #1195. Best reviewed by commit.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2497
commit f5e0e8370293c4df5e817b675b2af8a2cd693e93
Merge: dc9737756 31e4bb673
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 10 10:01:37 2025 +0000
Increment counter on OpenID authentication callbacks (MR !2495)
Fixes: #1194
Closes #1194
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2495
commit 76c356c2c8d63ee1339a14bc1c6d158e402dd316
Author: Stefano Rivera <stefano@freexian.com>
Date: Tue Dec 9 16:26:01 2025 -0400
EC2 Worker Pools: Enable IMDSv2
commit 3d144edef1139c82d5ed0265f931cb2d33ea7c3e
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Dec 9 18:51:00 2025 +0000
Allow failures from debrebuild rather than reprotest
The Salsa CI pipeline changed to use `debrebuild` rather than
`reprotest`. Allow failures from it instead, since snapshot.debian.org
occasionally fails for reasons we can't do anything about.
commit dc97377567f2a8d136f5e3056c50f6ca2db8d290
Merge: 4cf8958e5 2fe8f6f9f
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Dec 9 18:00:10 2025 +0000
Add `debusine archive suite create` (MR !2493)
This creates a collection and a workflow template, allowing users to set
up a repository in a workspace where they have owner permissions.
The how-to is a little busier than ideal, for the usual reason that it's
difficult to cover self-administered instances and SaaS instances in the
same document. I expect we'll add some specialized documentation on
https://wiki.debian.org/DebusineDebianNet as well.
Fixes: #1184
Closes #1184
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2493
commit dcd4103908ef8446b535467e9ef5916e7fbc038f
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Dec 9 17:45:46 2025 +0000
playground: Create work requests blocked by default
We eventually want to get to the point where work requests always go
through `mark_pending` to reach the `PENDING` status. As a starting
point, rework most tests that use the playground to behave that way.
Part of #1195.
commit 924ec78bae477854086df7e9f5e25876af0b4925
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Dec 9 17:06:46 2025 +0000
Improve validation coverage of sample work requests
The `Noop` task can reasonably have `build_architecture` and friends for
the purposes of testing, which simplifies several tests.
commit 0ea7364065a8333e1c3414e4ff8a63f9acd79b21
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Dec 9 15:28:17 2025 +0000
Make Playground.advance_work_request(result=) more helpful
It can automatically mark blocked work requests as pending, making it
easier to default to creating work requests as initially blocked.
commit 4cf8958e5e9696b957499fff930d6657a68a8753
Merge: 53efe38c5 b3c65a9f1
Author: Stefano Rivera <stefanor@debian.org>
Date: Tue Dec 9 13:21:40 2025 +0000
AWS EC2 bugs (MR !2494)
Fix the issues I identified today in EC2 Cloud Workers
Part of: #1203
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2494
commit 31e4bb673473a04d47b0c55074b5d62300dc0083
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Dec 9 12:11:44 2025 +0000
Increment counter on OpenID authentication callbacks
Fixes: #1194
commit 511cbee69cb7c0d69e7c59e9d203fbbad0be3fb9
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Dec 9 12:05:39 2025 +0000
Move MetricsTestMixin to debusine.test.base
commit a8c96f28dcd761a4623c576ab732d62cd66f4bdb
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Dec 9 12:00:57 2025 +0000
Return more information from Signon.activate_identity
Since this method handles one error case via `django.contrib.messages`
and raises exceptions in other cases, it's useful for it to report to
its caller whether it actually managed to activate the identity.
commit 2fe8f6f9f67f50f9eba61e64ca1dc6aa31220846
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Dec 8 19:19:08 2025 +0000
Add `debusine archive suite create`
This creates a collection and a workflow template, allowing users to set
up a repository in a workspace where they have owner permissions.
The how-to is a little busier than ideal, for the usual reason that it's
difficult to cover self-administered instances and SaaS instances in the
same document. I expect we'll add some specialized documentation on
https://wiki.debian.org/DebusineDebianNet as well.
Fixes: #1184
commit b3c65a9f134bd58bf5a172b9f609c08b9ecf894c
Author: Stefano Rivera <stefano@freexian.com>
Date: Mon Dec 8 23:46:21 2025 -0400
Cloud Workers: Permit Incus containers to access DHCP and DNS from the host.
commit 9f1a8e5680711aa2c564c00cb34c8b0942b14570
Author: Stefano Rivera <stefano@freexian.com>
Date: Mon Dec 8 21:40:34 2025 -0400
Defer starting the debusine-worker until everything is configured
commit 70dfde5466cf2f8a664248dbb3c78b81839c08e6
Author: Stefano Rivera <stefano@freexian.com>
Date: Mon Dec 8 21:28:54 2025 -0400
Remove an incusbr0 network, if it exists
commit 11bb7463bd3c030b1719375cd894d50f6b4310e1
Author: Stefano Rivera <stefano@freexian.com>
Date: Mon Dec 8 21:23:03 2025 -0400
Permit DHCPv6 on the worker's interface
commit 53efe38c5511006c44c85ccebd8d4b92d71e1f3d
Merge: db8129626 b88a2b11b
Author: Enrico Zini <enrico@debian.org>
Date: Mon Dec 8 17:53:36 2025 +0000
API: add a link for the collection category index (MR !2489)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2489
commit db8129626d1e4600b19071573583aa66cdd5f5b6
Merge: 1775742d8 c60248507
Author: Stefano Rivera <stefanor@debian.org>
Date: Mon Dec 8 13:45:32 2025 +0000
De-duplicate qa_suite in the qa workflow spec (MR !2491)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2491
commit 1775742d82aed3c7268b1e7e15c1f8d85f8d04e7
Merge: 7e9c166f3 89bd7c813
Author: Stefano Rivera <stefanor@debian.org>
Date: Mon Dec 8 13:28:26 2025 +0000
Worker Pool Management: Add edit (MR !2488)
Add `debusine-admin worker_pool edit` and some other small tweaks to the `worker_pool` admin command.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2488
commit 6379e273224a7549daa312c7d11c0be408cfe418
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Dec 8 11:32:40 2025 +0000
Start using django-pgtransaction
This will eventually let us do more interesting things such as
serializable transactions with retries on serialization failures, but
for now it just replaces a small amount of home-grown code.
commit c602485075e97e579f563e60626922e5b7c8c4c8
Author: Stefano Rivera <stefano@freexian.com>
Date: Sun Dec 7 16:03:15 2025 -0400
De-duplicate qa_suite in the qa workflow spec
commit 7e9c166f373bf6cfbcda64ada442584bde8289f4
Merge: db74209e6 19a8afc19
Author: Enrico Zini <enrico@debian.org>
Date: Sat Dec 6 18:50:33 2025 +0000
Use server-provided links in CLI (MR !2383)
See https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2372#note_690104
This makes the debusine client use server-provided links in the new `links` API result introduced in !2372.
This is the part of that MR that has been split and should be merged only after all the production servers that we are tracking have been updated to include !2372.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2383
commit db74209e6b70ecfb69f5e2102c2e19214d0d395f
Merge: 4136091ad b8b512305
Author: Enrico Zini <enrico@debian.org>
Date: Sat Dec 6 17:23:13 2025 +0000
Refactor debusine template nodes, and prototype a way to pass arguments to place render methods (MR !2477)
I knew I needeed a way to pass arguments to `place.as_*` functions, and this was finally triggered by me wanting to have "Search" in https://debusine.debian.net/debian/base/collection/debian:environments/debian/ instead of "Search name@category".
Besides having seen a way to refactor our template `Node` implementations to be a bit more DRY and encapsulate some Django oddities, I've drafted a `{% place %}` template tag which does a bunch of things:
1. resolve model instances to ui helpers, and ui helpers to places, if needed
2. call the right `place.as_*` method
3. pass arbitrary kwargs to it
It seems to work, and it's quite a lot. I could use an ack on the design before continuing on to add unit tests and turn this from prototype to production code
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2477
commit b8b5123057026355836d04e48ba6d4fe110d6557
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Dec 3 11:52:01 2025 +0100
Refactor debusine template nodes, and prototype a way to pass arguments to place render methods
commit 82ee01ed2ee381c75a637f20dda163ea30673593
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Dec 6 17:04:40 2025 +0100
CLI: use the server-provided collection category index URL
commit b88a2b11ba55ace37a89c56ac39b5f32a58a3555
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Dec 6 17:04:08 2025 +0100
API: add a link for the collection category index
commit 19a8afc19f7e77c9ae506714e8b555b7269673f6
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Dec 6 17:02:05 2025 +0100
Use server-provided links in CLI
commit 89bd7c813b50d6db2622770ddb2af4e6aab549d0
Author: Stefano Rivera <stefano@freexian.com>
Date: Fri Dec 5 16:02:44 2025 -0400
Add debusine-admin worker_pool edit
Use our YAML editor for interactive reconfiguration of a worker pool.
commit dea1bcdd9f2265827c88d5476a119a438d753649
Author: Stefano Rivera <stefano@freexian.com>
Date: Fri Dec 5 15:30:30 2025 -0400
Clarify that this is a create/update subcommand
commit 4136091ad15393d259eca5e05bca03a74129a273
Merge: 3e9fdcfc2 f5962d244
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Dec 5 18:19:57 2025 +0000
Worker Pool: Configure a hostname for workers via cloud-init (MR !2487)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2487
commit f5962d244c4682a76971a765f3a70f9c818bef67
Author: Stefano Rivera <stefano@freexian.com>
Date: Fri Dec 5 12:20:37 2025 -0400
Worker Pool: Configure a hostname for workers via cloud-init
commit 3e9fdcfc2b73c2d9bdc30be887cf9a09985427f6
Merge: fcc34ae89 ae2ed5b0e
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Dec 5 16:10:40 2025 +0000
Respect the 'enabled' flag in the worker pool provisioner (MR !2486)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2486
commit 6fa992463c19a34472cd6f42c52eda78fd0249f5
Author: Stefano Rivera <stefano@freexian.com>
Date: Fri Dec 5 12:00:07 2025 -0400
The architecture list is required
Tell argparse that it is, so we can show a helpful error rather than the
very cryptic:
> CommandError: Error creating worker_pool: This field cannot be null.
commit ae2ed5b0eb6e663d2811ac672c61f0373b526549
Author: Stefano Rivera <stefano@freexian.com>
Date: Fri Dec 5 11:39:24 2025 -0400
Add a second, lower-level check against launching workers in a disabled pool
commit 716cdc5c4ca3db250cb2e839ece648c53d3af357
Author: Stefano Rivera <stefano@freexian.com>
Date: Fri Dec 5 10:58:07 2025 -0400
Respect the 'enabled' flag in the worker_pool provisioner
commit fcc34ae89df337b503d881226cc1df4a83e4d7bb
Merge: 3d688d85a bb4051a0f
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Dec 5 12:29:22 2025 +0000
Amazon EC2 Worker Pool: Ignore harmless InsufficientInstanceCapacity (MR !2483)
Amazon reports:
> InsufficientInstanceCapacity: We currently do not have sufficient
> c5a.large capacity in the Availability Zone you requested
> (eu-west-3c). Our system will be working on provisioning additional
> capacity. You can currently get c5a.large capacity by not specifying
> an Availability Zone in your request or choosing eu-west-3a.
But it happily finds some (more expensive) c7i-flex.large instances and
starts them. So, ignore the error.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2483
commit 3d688d85a6aed5efce80cf90d86e1fcb7d9a59c5
Merge: c318a2582 f57cccf78
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Dec 5 12:28:59 2025 +0000
Worker Pools: The daily build repository targets trixie, these days (MR !2484)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2484
commit c318a2582f4221a3611c1f60d54bc3e6ff19ad39
Merge: bb46acbd7 a2d0ad6c7
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 5 11:29:10 2025 +0000
debian:suite: Forbid rewinding versions by default (MR !2479)
Fixes: #1137
Closes #1137
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2479
commit bb46acbd7a12f69d3e3e97fe1e0952db269472b2
Merge: 03dcae29e c11b5823b
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Dec 5 11:28:33 2025 +0000
qa: Add top-level summary information to regression analysis (MR !2478)
Fixes: #1164
Closes #1164
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2478
commit bb4051a0fd69000099ff16a23d3c334b53c26b02
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Dec 4 18:46:49 2025 -0400
Amazon EC2 Worker Pool: Ignore harmless InsufficientInstanceCapacity
Amazon reports:
InsufficientInstanceCapacity: We currently do not have sufficient
c5a.large capacity in the Availability Zone you requested
(eu-west-3c). Our system will be working on provisioning additional
capacity. You can currently get c5a.large capacity by not specifying
an Availability Zone in your request or choosing eu-west-3a.
But it happily finds some (more expensive) c7i-flex.large instances and
starts them. So, ignore the error.
commit f57cccf78617f8033c2942170100815ad7cb9429
Author: Stefano Rivera <stefano@freexian.com>
Date: Thu Dec 4 18:50:55 2025 -0400
Worker Pools: The daily build repository targets trixie, these days
commit 03dcae29ee04a87a695b4a713022c36ee9e30ddd
Merge: ac3a69c83 97f100ea7
Author: Enrico Zini <enrico@debian.org>
Date: Thu Dec 4 11:20:42 2025 +0000
Add parents to workflow template place, so that breadcrumbs show (MR !2480)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2480
commit ac3a69c83abc041bcdbce98d6da6adf8d6bde47c
Merge: 07b7ea5d9 7e0ac5fb8
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Dec 4 06:11:18 2025 +0000
Fix scrolling to an anchor: add padding on the top so the anchor is visible (MR !2474)
Otherwise the anchor is under the breadcrumbs.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2474
commit 97f100ea76df8ac98bba9147c39815ae4a5c0639
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Dec 3 19:14:42 2025 +0100
Add parents to workflow template place, so that breadcrumbs show
commit a2d0ad6c76d7e47338db932b3d0bc329f57ba217
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 3 17:59:40 2025 +0000
debian:suite: Forbid rewinding versions by default
Fixes: #1137
commit c11b5823bdd3342f7b45018f28b67af93eb9e2f8
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 3 15:50:44 2025 +0000
debian_pipeline: Pass reference_source_artifact to qa where relevant
commit 51367e59fa4e530a97ce00640bb6d3e9e2d5c07e
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 3 15:44:46 2025 +0000
qa: Add top-level summary information to regression analysis
Fixes: #1164
commit 4a28ba796cf92a22c699d62ee195df84e808fc79
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 3 17:00:18 2025 +0000
Use Collection.child_items more effectively
No functional change; it's just less typing.
commit 5d070d0ac5682c9e55602dcd28355eab7c010aa4
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Dec 3 14:36:02 2025 +0000
Generalize workflow_utils.source_package slightly
Having the caller pass in any non-default configuration key name, rather
than trying to infer it in the `source_package` function, makes it
easier to reuse this in some other situations.
commit 07b7ea5d985a9680cfea98c73e23ee44e73e91b6
Merge: 48a9d786c 08370db8a
Author: Stefano Rivera <stefanor@debian.org>
Date: Wed Dec 3 14:15:54 2025 +0000
Release 0.14.0 (MR !2476)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2476
commit 7e0ac5fb8d7b7218e57e2e8cb333fe5e1d0e6a74
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue Dec 2 15:57:29 2025 +0100
Fix scrolling to an anchor: add padding on the top so the anchor is visible
Otherwise the anchor is under the breadcrumbs.