Release history
0.8.1 (2025-01-13)
Server
Features
New view with list of workflows (
/<scope>/<workspace>/workflow/
). List workflow templates with stats in the workspace view (/<scope></workspace>/
), new view with specific template information (/<scope>/<workspace>/workflow-template/<workflow-template>/
). (#400)
Bug Fixes
Documentation
Split collections documentation by category. (#541)
Web UI
Incompatible Changes
Reorganize
/-/user/
URLs to contain the user name, and move the logout view to/-/logout/
. (#649)Remove
/view/
from workspace view path (/<scope>/<workspace>/view/
).
Features
Add workflows split-button pulldown to base template. (#620)
For workflows that need input, link to the first work request that needs input. (#674)
Add a user detail view.
Extend workspace detail view to show figures about workflows.
Use select2 for the multiple choice fields on the workflow list form.
Bug Fixes
Hide collections with the category
workflow-internal
from the navbar collections dropdown. (#639)Return 404 when trying to view incomplete files, rather than logging a noisy traceback. Don’t link to incomplete files, and mark them as “(incomplete)”. Mark artifacts as incomplete in artifact lists if any of their files are incomplete. (#667)
Fix ordering of workers list by “Last seen”. (#669)
Workflows
Features
debian_pipeline, qa, reverse_dependencies_autopkgtest, sbuild: Support
debian:upload
artifacts as input. (#590)autopkgtest, piuparts, reverse_dependencies_autopkgtest, qa, debian_pipeline: Add support for
extra_repositories
. (#622)
Bug Fixes
Fix looking up the architecture from a lookup that returns an artifact from a collection. (#661)
Tasks
Incompatible Changes
Autopkgtest: Replace the
extra_apt_sources
property withextra_repositories
, following the same syntax as Sbuild. (#622)
Features
Gather runtime statistics from executors. (#510)
SimpleSystemImageBuild: Switch from debos to debefivm-create for VM image creation. This also drops support for the Debian Jessie release.
Bug Fixes
General
Miscellaneous
0.8.0 (2024-12-26)
Server
Incompatible Changes
Refactor tabular output to also allow machine-readable YAML. (#247)
Add permission checks to all API views that accept user authentication. (#568)
Enforce permissions when creating artifacts. (#614)
Deprecate
debusine-admin create_workspace
,delete_workspace
,list_workspace
andmanage_workspace
in favor ofdebusine-admin workspace <subcommand>
.debusine-admin workspace create
creates workspaces with a default 30-days expiration delay (instead of no expiration by default forcreate_workspace
), and requires an existing owner group to be specified. (#640)Enforce permissions when retrying work requests.
Features
debusine-admin create_workspace
: Assign an owners group, controlled by the--with-owners-group
option. (#527)Add infrastructure to help enforcing permissions in views. (#598)
Record information about any originating workflow template in work requests, and add a cached human-readable summary of their most important parameters. (#618)
Implement
debusine-admin group list
anddebusine-admin group members
. (#623)Add a contributor role for workspaces; contributors can display the workspace and create artifacts in it. (#625)
Introduce new
debusine-admin workspace
subcommand, regrouping and expanding the existing*_workspace
. See debusine-admin workspace. (#640)Allow bare artifact IDs in workflow input.
Bug Fixes
Validate new scope, user, collection, and notification channel names. (#551)
Allow creating workflows using scoped workspace names. (#570)
Report workflow validation errors directly to the client on creation, rather than leaving unvalidated workflows lying around in error states. (#633)
Set up permissions context when running server tasks. (#642)
Port to Django 5.1. (#646)
Check work request status when running Celery tasks, to guard against mistakes elsewhere.
Enable Django’s
ATOMIC_REQUESTS
setting, avoiding a class of mistakes where views forget to wrap their changes in a transaction.Implement
add_to_group
option in signon providers.Link externally-signed artifacts to the ExternalDebsign work request.
Miscellaneous
Web UI
Incompatible Changes
Drop workspaces from homepage; they are now visible on scope pages instead. (#554)
Move
/api-auth/
views to/api/auth/
. (#581)Move
admin
,task-status
,user
, andworkers
views to unscoped URLs. (#582)Move account-related views to unscoped URLs. (#583)
Move work request URLs under workspaces. (#584)
Move artifact URLs under workspaces. (#585)
Features
Set the current workspace in views that use it. (#395)
Move “Workers” and “Task status” from the navigation bar to the footer. Add a per-scope landing page. Add a “Collections” menu in workspaces. Add view to list and filter workflows. (#557)
Show current and other workspaces in base template. (#624)
Merge workspace list into scope detail view. (#629)
Show the current scope as the “brand”, with an optional label and icon. (#630)
Display git-based version information in footer. (#631)
Show results in workflow views.
Show workflow details open by default.
Bug Fixes
Silence unnecessary logging when viewing invalid work requests. (#588)
Log out via
POST
rather thanGET
. (#646)ExternalDebsign task: Fix “Waiting for signature” card.
Consider task type when selecting work request view plugins.
Fix “Last Seen” and “Status” for Celery workers.
List workflow templates in workspace detail view.
Documentation
Document scope as required in client configuration, and simplify example if there is only one. (#613)
Miscellaneous
Client
Documentation
Add documentation for the client configuration file. (#613)
Workflows
Features
Add package_publish workflow. (#396)
Add reverse_dependencies_autopkgtest workflow. (#397)
autopkgtest, sbuild: Implement
arch_all_host_architecture
. (#574)package_upload: Support uploading to delayed queues.
Bug Fixes
debian_pipeline: Handle some
build-*
promises being missing.make_signed_source, package_upload: Fix invalid creation of some child work requests. Add validation to catch such problems in future.
package_upload: Set correct task type for
ExternalDebsign
.Fix work request statuses in several workflows.
Mark empty workflows as completed.
Documentation
Point to the workflow template list.
Tasks
Incompatible Changes
Sbuild: Stop running
lintian
; it’s now straightforward to run bothsbuild
andlintian
in sequence using the debian_pipeline workflow. (#260)
Features
Bug Fixes
Documentation
Split task documentation by task types.
Miscellaneous
Signing
Documentation
Add blueprint for restricting use of signing keys. (#576)
General
Features
Enforce
mypy
’s strict mode across the whole codebase.
Bug Fixes
Ensure consistent
LANG
settings in systemd services. (#494)Reset failed
*-migrate
services in integration tests.
0.7.2 (2024-11-13)
Quality
Use
hello
from bookworm in piuparts integration test.
0.7.1 (2024-11-12)
Quality
Fetch packages from matching suites in integration tests.
0.7.0 (2024-11-12)
Server
Unblock reverse-dependencies when aborting a work request.
Upgrade to Django 4.2.
Implement an admin role for scopes.
Validate group names.
Add
debusine-admin group
management command.Add API for monitoring worker status.
Add roles for workspaces.
Handle scopes in workspace management commands.
Add an initial set of permission predicates.
Add scope visibility permission check.
Use workspace permissions in collection lookup.
Force evaluation of lazy
request.user
inAuthorizationMiddleware
.Don’t ignore failed elements of multiple lookups.
Make the default workspace public.
Improve command-line handling of constraint violations.
Add permission for creating workspaces.
Add lintian workflow.
Fix
debusine-admin create_workspace --default-expiration-delay
command-line parsing.Support lookups that match items of multiple types.
Add piuparts workflow.
Add qa workflow.
Implement
signing_template_names
in sbuild workflow.Add
same_work_request
lookup filter to debian:package-build-logs collection.
Web UI
Disallow public access to work requests in private workspaces.
Prototype implementation of scopes in URLs.
Handle workspaces with the same name in different scopes.
Remove
workspace/
segment from URLs.
Client
Implement scope support.
Correctly download artifacts with directories in file paths.
Worker
-
Allow keyring URLs starting with
file:///usr/share/keyrings/
.Write non-ASCII-armored keyrings to
.gpg
rather than.asc
.
-
Relax
binnmu_maintainer
validation in dynamic data to avoid failures ifDEBUSINE_FQDN
is under a non-email-suitable domain.Drop unnecessary
sbuild:host_architecture
from dynamic metadata.
Add DebDiff task.
Signing
-
Fail if signing failed.
Use detached signatures when signing UEFI files.
Take multiple unsigned artifacts and sign them all with the same key.
Register Debsign task, which previously existed but was unusable.
Documentation
Indicate that kmod keys aren’t (yet?) supported.
Split signing service documentation into explanation and reference.
Add an explanation of lookups.
Document the debusine-worker CLI.
Move artifact relationships documentation to reference.
Point to bookworm-backports instead of deb.freexian.com.
Update Add a new worker to explain how to enable a signing worker.
Install a signing worker in the installation tutorial.
Document the debusine-signing CLI.
Add blueprint for changing the UI to be more workflow-centered.
Restructure the hierarchy of reference documentation pages.
Document how to generate signing keys.
Add blueprint for copying artifacts between workspaces.
Add blueprint for a URL redesign.
Quality
Add more type annotations for tasks.
Fix test failures in non-English locales.
Skip simplesystemimagebuild test with UML >= 6.11um1 for now.
0.6.0 (2024-10-10)
Server
Tighten up handling of creating artifacts with files that already exist.
Add
Wait
task type.Add Delay task.
Add ExternalDebsign task and a corresponding API view to allow a client to provide a signature to it.
Add a system for coordinating multiple sub-workflows within a higher-level workflow.
Introduce scopes.
Introduce a basic application context.
Run workflow orchestrators via Celery.
Add autopkgtest workflow.
Add
debusine-admin scope
command.Add retry-with-delays action for use in
on_failure
event reactions.-
Support build profiles.
Add
retry_delays
, which can be used for simplistic retries of dependency-wait failures.
Let
nginx
gzip-compress text responses.Add PackageUpload task.
Web UI
Improve label for debian:binary-package artifacts.
Show “Waiting for signature” card on blocked ExternalDebsign task requests.
Show forward and reverse-extends artifact relations.
Client
Add
debusine provide-signature
command.Allow
debusine import-debian-artifact
to upload individual.deb
packages.Correct imported package relations.
Don’t download large artifacts as tarballs.
Worker
Add MergeUploads task.
-
Support
build_profiles
.Don’t permit architecture-independent binary-only NMUs.
Fix
architecture
field of created debian:binary-packages artifacts.Export
DEB_BUILD_OPTIONS
fornocheck
andnodoc
profiles.Set a default maintainer for binary-only NMUs.
Apply some environment constraints to the Piuparts task’s
base_tgz
lookup.Register ExtractForSigning task, which previously existed but was unusable.
Fix
unshare
executor compatibility with Debian environments from before the start of the/usr
merge.Fall back to the worker’s host architecture for the purpose of environment lookups if the task doesn’t specify one.
Log progress through the main steps of each task.
Signing
Add Debsign task.
Documentation
Document signing workers and tasks.
Add design for permission management.
Add design for reverse-dependencies-autopkgtest workflow.
Add design for task configuration, work request statistics, and other build-related features.
Add short introduction to Debusine concepts tying everything together.
Move explanation of expiration logic to a separate Expiration of data page.
Simplify explanation of artifacts.
Move information about Task types to a separate page.
Move information about collection data models to a separate page.
Quality
0.5.0 (2024-09-03)
Server
Avoid N+1 queries when resolving multiple lookups.
Automatically drop privileges when running
debusine-admin
ordebusine-signing
as root.Mark retried work requests as blocked if necessary.
Add an API endpoint to review manual unblocks.
Unassign pending or running work requests when disabling a worker.
Fix ineffective
debian:environments
uniqueness constraint.Adjust the sbuild workflow to allow storing build logs in a new debian:package-build-logs collection.
Default to a five-second timeout when sending email, to avoid hangs if the local mail transport agent is broken.
Don’t buffer output to log files.
Validate new work requests when creating them.
Web UI
Link to work request and build log in artifact list.
Add a framework of UI shortcuts and sidebar information, allowing a more attractive and consistent presentation of resources such as artifacts and work requests.
Redirect user to original URL after login.
If an artifact has only one file, download that file by default instead of a tarball.
Show input artifacts in work request views.
Add a user-friendly view of files in artifacts.
Fix error when viewing an artifact with multiple related build logs.
Use pygments to render text content.
Redesign work request detail view.
Use work request labels in the UI.
Add UI to review work requests blocked on manual approval.
Add a view of registered workers and their running work requests.
Fix collection search paging.
Add a view of the task queue.
Client
Only accept valid artifact categories in
debusine create-artifact
.Don’t process downloads one byte at a time.
Retry some HTTP requests.
Worker
Make
arch-test
a dependency rather than an optional feature.-
Create a debusine-signing-input artifact.
Ignore
dose-debcheck
decoding errors.Support building binary-only NMUs.
Skip
dose-debcheck
extraction on success.
Signing
Add support for static (not extracted under wrap) PKCS#11 keys.
Add OpenPGP key generation and signing support.
Documentation
Document that workers need
sbin
directories in theirPATH
.Clarify data model details for the workflow hierarchy.
Improve documentation for
debusine-admin manage_worker disable
.Fix documentation of creating a collection in Set up APT mirroring.
Add design for coordinating sub-workflows.
Add design for package upload task and workflow.
Quality
Support building debusine itself with
nocheck
andnodoc
build profiles.Add pre-commit configuration.
Fix various
ResourceWarning
s.Convert Python packaging to hatchling.
Add many more type annotations.
Use dbconfig-pgsql for database configuration, avoiding services restarting indefinitely after initial installation.
Ensure that debusine starts after and stops before a PostgreSQL service running on the same machine.
Make task-killing tests more reliable.
0.4.1 (2024-06-28)
Server
Make
debusine:test
artifact instantiable.
Web UI
Introduce a common base layout with a right sidebar.
Implement labels for artifacts.
Add specialized view for showing build log artifacts.
Worker
Run
sbuild
with--bd-uninstallable-explainer=dose3
and parse its output.
Quality
Fix license classifier in
setup.cfg
.
0.4.0 (2024-06-24)
Server
Add API endpoint to retry work requests.
Implement retrying workflows.
Give the scheduler Celery worker a different node name.
Switch to
RedisPubSubChannelLayer
.
Web UI
Add UI to retry work requests.
Worker
Add binary-only NMU support to
sbuild
task.Use
arch-test
to provide better defaults forsystem:architectures
.
Signing
Add a new signing service. This currently supports generating keys (though currently only in software, as opposed to an HSM) and signing UEFI Secure Boot images with them. A few more pieces still need to be assembled before this is useful.
Documentation
Document HTTPS setup.
Document signing worker.
Quality
Remove now-unnecessary autopkgtest schroot creation from integration tests.
Add a “playground” system to manage test object creation and to allow discussion of UI prototypes.
Use HTTPS in integration tests.
Bump timeout for
mmdebstrap
integration tests.Reorganize test cases for improved type-safety.
Fix cleanup order in an integration test which caused failures on slow architectures.
0.3.2 (2024-06-03)
Server
Rename some leftovers of “internal” naming for server tasks.
Added method to check if a work request can be retried.
Fix
Architecture: all
matching insbuild
workflow.
Web UI
Second iteration on collection UI design.
Add base template support for
django.contrib.messages
.
Quality
Fix several race conditions and timeouts that caused autopkgtest failures on slow architectures.
0.3.1 (2024-05-28)
Server
Namespace collections under workspaces.
Refresh worker from database before marking it disconnected, so that we don’t lose changes made using
debusine-admin edit_worker_metadata
.Add backend capability to retry aborted or failed work requests.
sbuild
workflow:Fix task data for
Architecture: all
work requests.Specify the backend in environment lookups.
Defer environment resolution.
Web UI
Fix typo resulting in HTTP 500 error in collection detail view.
Worker
Handle systemd 256 in
incus-lxc
executor.Handle dangling
/etc/resolv.conf
symlinks in environments in theunshare
executor.Fix
mmdebstrap
task to specify the architecture of the chroot.
Documentation
Fix several errors in the “Getting started with debusine” tutorial.
Adjust “The debusine command” reference to refer to self-documenting
--help
output.
Quality
Skip some integration tests for architectures that weren’t in bookworm.
Add enums for artifact and collection categories, to guard against typos.
0.3.0 (2024-05-23)
Highlights:
The focus of this milestone is on automatic orchestration of building blocks, to allow tasks to be scheduled for all items of a collection. For example, Debusine can now automatically schedule Lintian tasks for all packages in a suite.
Added collections and workflows.
Added a new lookup syntax, taking advantage of collections.
Server
Add infrastructure for collections.
Implement
debian:environments
collection.Implement
debian:suite-lintian
collection.Add
debusine-admin create_collection
command.Store tokens only in a hashed form.
Implement
debian:suite
collection.Move the scheduler to a dedicated Celery worker.
Generalize work request notifications into event reactions.
Implement basic building blocks of workflows.
Implement synchronization points.
Implement workflow orchestrators.
Implement workflow callbacks.
Add
--default-file-store
options todebusine-admin create_workspace
anddebusine-admin manage_workspace
.Restrict creation of non-worker tasks via the API.
Add
debusine-admin create_file_store
command.Implement scheduling priorities.
Implement
update-collection-with-artifacts
event reaction.Implement collection item lookup syntax and semantics.
Implement
aptmirror
server task.Implement
updatesuitelintiancollection
task to update adebian:suite-lintian
collection fromdebian:suite
.Implement
debusine:workflow-internal
collection.Add
debusine-admin create_work_request
command.Implement
sbuild
andupdate_environments
workflows.Add a
_system
user for use by scripts.Implement expiry of collection items.
Add APIs to create workflow templates and workflows.
Add
debusine-admin create_workflow
command.Add
debusine-admin delete_workspace
command.Implement expiry of work requests.
Web UI
Fix ordering of work requests by task name.
Improve rendering of multi-line strings in task data.
Show workflow information for work requests that are part of workflows.
Show task type in work request lists.
Improve handling of expired artifacts in
autopkgtest
/lintian
views.Order a work request’s artifacts by ID within each category.
Show the user who created a work request in the work request detail view.
Show a notice when a work request’s artifacts have expired.
Add workspace detail and collection views.
Client
Separate YAML input and output more clearly when running
debusine create-artifact
ordebusine create-work-request
.Add
debusine manage-work-request
command to adjust work request priorities.Add
debusine create-workflow-template
anddebusine create-workflow
commands.
Worker
Add support for passing extra packages to the
sbuild
task.Exit cleanly on failure to report a completed work request to the server.
Restrict
mmdebstrap
andsimplesystemimagebuild
tasks to workers that support the requested architecture, as was done for other tasks in 0.2.1.Only consider the
autopkgtest
task to have succeeded on exit codes 0, 2, and 8.Remove network-related files that
mmdebstrap
copies from the host.Allow
sbuild
to produce no.changes
file, so that users can examine the log files of failed builds.Improve “Unexpected artifact type” error from the image cache.
Rename
autopkgtest
task’senvironment
key toextra_environment
.Rename
environment_id
toenvironment
in all tasks, and support the new lookup syntax.Drop insecure
sbuild_options
fromsbuild
task.Rename task data fields in
autopkgtest
,blhc
,lintian
,piuparts
,sbuild
, andupdatesuitelintiancollection
tasks to support the new lookup syntax, removing_id
from key names and accepting single or multiple lookups as appropriate.Correctly tag
sid
tarballs and images ascodename=sid
.Don’t purge build-dependencies after build in the
sbuild
task.
Documentation
Move unimplemented features to a new “Development blueprints” section.
Add design practices.
Rework “Where to start” section in “Contribute to debusine”.
Clarify parameters to
piuparts
task.Clarify the role of Incus when installing a debusine instance.
Add design for tasks that update collections.
Document work request scheduling and associated worker metadata.
Add design for workflows.
Document image caching and cleanup.
Add design for scheduling priorities.
Add design for collection item lookups.
Add design for
sbuild
workflow.Add design for
update_environments
workflow.Add how-to for setting up APT mirroring.
Add example script to automate Incus configuration for workers.
Document packages required for Incus VMs.
Add example script to populate a debusine instance with example data.
Document environment requirements for executor backends.
Update “Getting started with debusine” tutorial to use workflows and collections.
Add more documentation of worker behaviour.
Quality
Validate the summary in
debian:lintian
artifacts.Drop compatibility with Debian bullseye; debusine now requires Python >= 3.11.
Enforce pydantic models for
WorkRequest.workflow_data
andWorkRequest.event_reactions
.Use pydantic models for
autopkgtest
andlintian
views.Fix some tests on non-amd64 architectures.
Auto-format HTML templates using djlint.
Add infrastructure for more semantic testing of HTML output.
0.2.1 (2024-03-07)
Server
Add a Celery worker for server-side tasks.
Client
Trim down dependencies slightly.
Worker
Require KVM access for
simplesystemimagebuild
task.Change
container
toinstance
in Incus templates.Log task completion.
Restrict tasks to workers that support the requested architecture.
Documentation
Improve home page slightly.
Quality
Enforce mypy project-wide, including all Django components.
0.2.0 (2024-02-29)
Highlights:
Added artifact file storage system.
Debian developers can use Debusine to run various QA tasks against packages they are preparing. Those tasks can be scheduled through the API or through the web UI.
Note that it is not possible to directly migrate a database installed using 0.1.0. Migrations from this release to future releases will be possible.
Server
Implement file storage.
Implement artifact handling.
Implement expiration of artifacts and their files.
Run database migrations on
debusine-server
package upgrade.Add
debusine-admin monthly_cleanup
command, run from a systemd timer.Link work requests to workspaces.
Add
debusine-admin create_user
,debusine-admin list_users
, anddebusine-admin manage_user
commands.Link tokens to users.
Allow email notifications if a work request fails.
Depend on
python3-daphne
.Ensure all local artifacts are JSON-serializable.
Add
debusine-admin create_workspace
,debusine-admin list_workspaces
, anddebusine-admin manage_workspace
commands.Use WorkRequest workspace in artifacts.
Add default expiration delay to workspaces.
Add API to list work requests.
Make sure the Django app’s secret key is never publicly readable.
Mark workers as disconnected on
debusine-server
startup.Use
Restart=on-failure
rather thanRestart=always
indebusine-server.service
.Add
debusine-admin info
command to help with setting up deployments.Add daily artifact cleanup timer.
Use pydantic models for artifact data.
Add remote, read-only file storage backend for external Debian archives.
Web UI
Add web UI for work requests and workspaces.
Add login/logout support to web UI, allowing access to non-public workspaces.
Allow registering/removing user API keys using the web UI.
Allow uploading artifacts using the web UI.
Refinements to web UI for work requests.
Make Django aware of HTTP/HTTPS state of requests.
Fix download error with empty artifact file and document mmap usage.
Implement integration with Salsa Single Sign-On.
Add
lintian
view.Polish various aspects of the web UI.
Add
autopkgtest
view.Fetch images for tasks directly, not via a tarball.
Client
Rename client’s configuration key from
debusine
toapi-url
.Add
--data
option todebusine create-work-request
.Rename
debusine work-request-status
todebusine show-work-request
.Add
debusine on-work-request-completed
to allow running a command when a work request completes.debusine.client
: Drop obsoletesilent
keyword, and stricter prototype tests.Add
debusine --debug
option to debug HTTP traffic.Implement a package downloader (
dget
).Implement a paginated listing API client.
Add API client method for listing all work requests.
Add
debusine list-work-requests
command.Add
debusine import-debian-artifact
command.
Worker
Modify
sbuild
task to use artifacts.Add pre-upload consistency checks on sbuild results.
Rename worker’s configuration key from
debusine-url
toapi-url
.Upload
sbuild
log files even if the .dsc file did not exist.Add
piuparts
task.Add
lintian
task.Add
autopkgtest
task.Add
mmdebstrap
task.Avoid trying to add
debusine-worker
user in postinst if it already exists.Add image caching for executor backends.
Add
unshare
executor.Port the
autopkgtest
andpiuparts
tasks tounshare
.Use
Restart=on-failure
rather thanRestart=always
indebusine-worker.service
.Make tasks check whether their tools are installed.
Use a lock to protect execution of the work request.
Add
blhc
task.Add
simplesystemimagebuild
task.Use pydantic models for task data.
Log exceptions in task preparation and clean-up.
Add Incus executor (for both containers and VMs).
Add a
qemu
executor, currently only forautopkgtest
andsbuild
tasks.
Documentation
Drop the “slug” field and the “repository” type.
Document
debian:package-build-log
artifact in ontology.Document using
local.py
to change settings.Create an overview document with an elevator-pitch-style introduction.
Add initial design for
autopkgtest
andlintian
tasks.Add initial design for system tarball artifacts and debootstrap-like tasks.
Add initial design for tasks building system disk images.
Update the description of the
sbuild
task.Restructure the documentation following the Diátaxis principles.
Clarify copyright notice, contributor status and list of contributors.
Enable the Sphinx copybutton plugin.
Add some documentation for the Python client API.
Improve the “Getting started with debusine” tutorial.
Add documentation for
debusine-admin
commands.Add “Install your first debusine instance” tutorial.
Add initial design for collections.
Refine design for workflows.
Quality
Harmonize license to be GPL-3+ everywhere.
Support pydantic 1 and 2.
Apply mypy, pyupgrade, and shellcheck consistently.
Sync
(Build-)Depends
withsetup.cfg
.
0.1.0 (2022-09-09)
Initial release. Includes a server that can drive many workers over a
worker-initiated websocket connection, where the workers use the server’s
API to get work requests and provide results. There is an sbuild
task
that workers can run.