Git log: commit cb19c544863dc504664b3b42c93aab1d676d8a35
Merge: b49587ca 4272bd00
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 15 21:39:08 2024 +0000
Merge branch 'mypy-worker-test-methods' into 'devel'
Add type annotations for worker tests
See merge request freexian-team/debusine!1012
commit b49587ca21a76ca527be03e21f131f388634b1ce
Merge: 80846673 5f9c42f1
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 15 21:38:35 2024 +0000
Merge branch 'fix-client-checksums-validation' into 'devel'
Fix {FileRequest,FileResponse}.checksums validation
See merge request freexian-team/debusine!1013
commit 80846673048992a6b6429795e7fd8b339c14f65d
Merge: 73e37167 f4978903
Author: Enrico Zini <enrico@debian.org>
Date: Mon Jul 15 18:24:46 2024 +0000
Merge branch 'file-widget' into 'devel'
Refactor FileView into a FileWidget
See merge request freexian-team/debusine!1011
commit f49789037b2267f76cb8f0709d018207d0b47a5b
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Jul 15 16:22:16 2024 +0200
Refactored FileView in a FileWidget
commit 73e3716760d0a5dd0ad4001e476df0ba5f708379
Merge: 1cc9257c 2b8e612f
Author: Enrico Zini <enrico@debian.org>
Date: Mon Jul 15 17:31:19 2024 +0000
Merge branch 'wr-label' into 'devel'
Use work request labels in the UI
See merge request freexian-team/debusine!1007
commit 5f9c42f156d78268bd0fc5113d53992be260605e
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 15 17:31:16 2024 +0100
Fix {FileRequest,FileResponse}.checksums validation
In commit 455142225faa95daec0d8a69627595696ff51d48, I simplified the
annotations of these `checksums` fields. Unfortunately, it turns out
that pydantic silently ignores the new form of the annotation, and the
test that should have caught this was defective: it caught a similar
exception but with a different reason (passing a `file_type` field
instead of `type`).
Go back to something resembling the old approach, and tighten the tests
to avoid similar mistakes with these classes in future. It's terribly
ugly, but at least it works.
commit 1cc9257ceba524745ff3ba36be32f1f1c769dea6
Merge: 4a2bf917 33c549cd
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 15 15:01:38 2024 +0000
Merge branch 'mypy-incus-test-methods' into 'devel'
Add type annotations for Incus executor tests
See merge request freexian-team/debusine!1010
commit 4272bd004ada148d43a8267ca904d2036dab995a
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 15 15:55:18 2024 +0100
Add type annotations for worker tests
commit 4a2bf9174fd8f8527b9ca9602d42b5c1733f3d97
Merge: 8c126265 7b1da524
Author: Enrico Zini <enrico@debian.org>
Date: Mon Jul 15 14:14:15 2024 +0000
Merge branch 'ui-infra' into 'devel'
Consolidate UI infrastructure (fixes #441)
Closes #441
See merge request freexian-team/debusine!998
commit 33c549cdf6e3fe15b4130437ff845ae80df0f2c2
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 15 15:09:36 2024 +0100
Add type annotations for Incus executor tests
I had to refactor the image cache tests a bit; they now explicitly run
the common tests for both the `incus-lxc` and `incus-vm` cases.
commit 2b8e612f24dd0e8de22c77d1ba68eb6d62c5b0b9
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Jul 15 14:51:39 2024 +0200
Test coverage
commit ffa2134b25d134c09707d377e0df8a81297a6610
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Jul 15 14:06:26 2024 +0200
Deal with WorkRequest objects with invalid task data
commit fbb2f003ef942f892e4e87a0ce9ac6c3c33f2a50
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 12 19:01:01 2024 +0200
Use task labels in UI
commit 7b1da52467abf3edc9b6fd61b48278e4e033c320
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Jul 11 14:22:43 2024 +0200
Refactor code with a base view that matches the base template layout
commit d58bf5b15f4a8d9e07077683eed44e79945a29e9
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 12 14:38:36 2024 +0200
Introduced the base widget interface and template support code
commit 77223adb008b0596f5639f16910e7e0cca0feb91
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 12 13:57:43 2024 +0200
Added a description of the Debusine UI infrastructure
commit 8c126265057dacaad63cc56be02c22f630d89065
Merge: 543e2127 fabae641
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 12 18:01:18 2024 +0000
Merge branch 'pkcs11-static-command' into 'devel'
Add command to register a pkcs11-static key
See merge request freexian-team/debusine!1006
commit 543e21274c8cdf3316abbbd9a81db03d7a68d995
Merge: fbf99c60 4409380e
Author: Enrico Zini <enrico@debian.org>
Date: Fri Jul 12 17:43:52 2024 +0000
Merge branch 'task-label' into 'devel'
Added BaseTask.get_label and use it in WorkRequest
See merge request freexian-team/debusine!1005
commit fabae641fd028b45839acd7f404e9e89846c5849
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 12 14:52:50 2024 +0100
Add command to register a pkcs11-static key
I added support for static (not extracted under wrap) PKCS#11 keys in
!985, but I didn't include any way to register them short of manual SQL.
This adds a new `debusine-signing register_pkcs11_static_key` command to
correct that omission.
commit 4409380e9ccd00fc3656b01cf5e0bfba9ac5af94
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 12 11:15:47 2024 +0200
Added BaseTask.get_label and use it in WorkRequest
commit fbf99c60250aced9e769fc7ab4d0dd9b058327e6
Merge: 690e3ed9 34d88cdc
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 12 14:45:13 2024 +0000
Merge branch 'manual-workflow-step' into 'devel'
Add an API endpoint to review manual unblocks
See merge request freexian-team/debusine!1003
commit 34d88cdc09160a73072cbdf91523b8ecbf898415
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 12 13:27:20 2024 +0100
Split WorkRequest.is_part_of_workflow into two properties
I think this is a little clearer, and it means it makes some sense to
use `is_part_of_workflow` in the unblock view.
commit 5bf928f3e6699c2a1a7c7540fe8742e870fdbcf4
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 17:18:44 2024 +0100
Add an API endpoint to review manual unblocks
Part of #399.
commit 0bcac8ef14827c704420d5556383acb5ec8c7a7a
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 12 14:50:14 2024 +0100
Move call_command test wrapper somewhere more generic
This allows us to use it from `debusine.signing`.
commit 690e3ed9ae44b36cf7853ff9fef3d293d91da737
Merge: 9890b159 116c4d4f
Author: Enrico Zini <enrico@debian.org>
Date: Fri Jul 12 13:39:58 2024 +0000
Merge branch 'redesign-wr' into 'devel'
Redesign work request detail view (fixes: #440)
Closes #440
See merge request freexian-team/debusine!986
commit 116c4d4f186945ae3ceb43f0f3b498900854af36
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jul 9 17:37:42 2024 +0200
Redesigned work request detail layout
commit 1870d818d4c8e1d2afd54a6d0229919e87dc92fa
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jul 9 16:54:17 2024 +0200
Show artifact and work request data as syntax highlighted yaml
commit a7d8901096ca4ae73599d2700db670b172fb4d25
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jul 9 13:50:06 2024 +0200
Added information sidebar
commit 30ec68b5d04c6839ed73ee04793fb42a08982956
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jul 9 12:45:28 2024 +0200
Added ui shortcuts for source artifacts
commit 9890b159ab83cda81edd92a7211a3dbb66723809
Merge: 37a03504 e86549c0
Author: Enrico Zini <enrico@debian.org>
Date: Fri Jul 12 10:01:24 2024 +0000
Merge branch 'license' into 'devel'
Added BSD-2 clause to debian/copyright
See merge request freexian-team/debusine!1004
commit e86549c0515dc918ee7f5bcab4c95ae95e9933f7
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 12 09:11:32 2024 +0200
Added BSD-2 clause to debian/copyright
commit 37a035044d6b874fcf75818ccc07eb91b844ca29
Merge: 1377274f cd784849
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 16:20:27 2024 +0000
Merge branch 'hatchling' into 'devel'
Convert Python packaging to Hatchling
See merge request freexian-team/debusine!1001
commit 1377274f18954f27daebd3ee36bc09efc5882b87
Merge: a0d839e7 e5241039
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 16:03:58 2024 +0000
Merge branch 'signing-migrations-flake8' into 'devel'
Fix flake8 errors in signing database migrations
See merge request freexian-team/debusine!1002
commit a0d839e7d135db2a7307f69d7773c7ee54f54758
Merge: 52a06f45 408341fb
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 15:15:30 2024 +0000
Merge branch 'resource-warnings' into 'devel'
Enable ResourceWarnings while running tests, and fix them
See merge request freexian-team/debusine!1000
commit e52410395204d211e9a6f55da49978b2bce1410b
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 16:14:12 2024 +0100
Fix flake8 errors in signing database migrations
commit 52a06f451c7dda152067e2defccd9feba406aad1
Merge: b4fc9c06 f0676063
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 15:08:42 2024 +0000
Merge branch 'signing-pkcs11-static' into 'devel'
Add support for static (not extracted under wrap) PKCS#11 keys
See merge request freexian-team/debusine!985
commit f067606330f76e1da32e11e40424c6367b3d0173
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 15:37:29 2024 +0100
Make SensitiveTemporaryDirectory cleanup warnings scarier
commit 408341fb06be4fcc0d7f97fa75b29a492cd2984b
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 14:41:02 2024 +0100
Enable ResourceWarnings while running tests, and fix them
Most of these required adding a few more cleanup hooks. `ArtifactForm`
was particularly fiddly, since Django forms don't seem to have a
built-in idea of cleaning up, but refactoring to avoid opening temporary
files in `clean` which are then used by `save` seemed too complicated.
I noticed this while working on !985.
commit b4fc9c0630c07af1c2d4141b86098f53c529c0d3
Merge: c8e716b5 8d51e4be
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 13:51:29 2024 +0000
Merge branch 'task-extract-for-signing-black' into 'devel'
Update Black formatting of test_extract_for_signing
See merge request freexian-team/debusine!999
commit c8e716b515a15908292eac3eab11472f57f8a3b9
Merge: 1011549f 17d97bea
Author: Enrico Zini <enrico@debian.org>
Date: Thu Jul 11 13:25:46 2024 +0000
Merge branch 'playground-workflow' into 'devel'
Generate a workflow and a superseded work request (#440)
See merge request freexian-team/debusine!992
commit 4a475a837fbf8b3e47d80251d560b1dd6c7ee769
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 09:34:25 2024 +0100
Add support for static (not extracted under wrap) PKCS#11 keys
This is the simplest case of using an HSM: it doesn't cover generating
keys in the HSM, just manually registering keys that have been generated
separately. However, this is enough for parity with dak's code-signing
tool. To use this, the signing machine will need to have the necessary
PKCS#11 module installed (e.g. `yubihsm-pkcs11`) plus any supporting
software needed to use the hardware device (e.g. `yubihsm-connector`).
I'd previously tried to lay out the pydantic model for `Key.private_key`
in a way that would be compatible with future use of a discriminated
union, but while writing this I discovered that I'd got it wrong. As a
result, this commit includes a migration to change the layout of any
existing keys in the signing database.
commit cd784849252b2b84dcd0c29b4c012c55a52f1c89
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 11:46:32 2024 +0100
Move pycodestyle configuration to tox.ini
It was the only thing left in `setup.cfg`. It's a shame that
pycodestyle doesn't support `pyproject.toml`, but using `tox.ini` for
some linter configuration isn't _too_ bad.
commit 0a5de20c4ae323c94647c1c5c6851907048d30c2
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 11:36:25 2024 +0100
Convert Python packaging to Hatchling
setuptools is looking increasingly creaky these days, and has many
awkward corners. See:
https://hatch.pypa.io/latest/why/
Hatchling seems reasonably popular (150 source packages in testing
build-depend on it), and since almost all of this is standardized
configuration we won't be particularly tied to it even if it turns out
to be abandoned in a few years.
Black picks up its target version from `requires-python`, so we no
longer need to set that separately.
commit 9140fe6615633cd07845c170d425eb8f76516e9e
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 11:35:13 2024 +0100
Remove unnecessary debusine/worker/README.txt
This makes more sense in the package docstring.
commit 8d51e4be2f4cf772a2951e62e14ef36874293932
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 13:44:46 2024 +0100
Update Black formatting of test_extract_for_signing
This was a casualty of not rebasing my `black-py311` branch onto devel
before landing it.
commit 1011549f4bf22efaf820dc1c62c7f426a3576f56
Merge: 5964b95b 6716ed07
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 12:00:28 2024 +0000
Merge branch 'black-py311' into 'devel'
Tell Black to target Python 3.11
See merge request freexian-team/debusine!997
commit 17d97beab8369094129e495b07d5f703ef71a7c3
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Jul 10 11:25:57 2024 +0200
Generate a workflow and a superseded work request
commit 5964b95bda9609974fc62ee713caf81a120d311f
Merge: 97da3ed6 fc6ffc2d
Author: Enrico Zini <enrico@debian.org>
Date: Thu Jul 11 11:43:06 2024 +0000
Merge branch 'playground-fix-workspace' into 'devel'
Make generated workspace name match deleted workspace name (fixes: #438)
Closes #438
See merge request freexian-team/debusine!990
commit 97da3ed60a89055fe9cc788b18edce00b81acd84
Merge: 6918e1b3 1bdee4cb
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 11:37:44 2024 +0000
Merge branch 'task-extract-for-signing' into 'devel'
Add ExtractForSigning task
Closes #425
See merge request freexian-team/debusine!981
commit 6918e1b3f8fd5be1513f08c91fae4c7320a5e30e
Merge: d3cd5026 54976492
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 11:16:58 2024 +0000
Merge branch 'retry-initially-blocked' into 'devel'
Mark retried work requests as BLOCKED if necessary
See merge request freexian-team/debusine!996
commit d3cd5026fcf21183efe4fe832cf2512b901df1b9
Merge: 965e1e46 f706b6bf
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 10:42:34 2024 +0000
Merge branch 'coverage-parallel-config' into 'devel'
Move coverage -p option to configuration file
See merge request freexian-team/debusine!995
commit 6716ed0727da689bbc4d5839b39d845dd183ec07
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 11:28:14 2024 +0100
Tell Black to target Python 3.11
I'm working on moving configuration from `setup.cfg` to
`pyproject.toml`, which will cause this to happen anyway as Black
honours the `requires-python` field there, so I wanted to do this
separately first.
I think the use of parenthesized context managers, in particular, is
clearly more readable.
commit 5497649243a30592f6ea70f13d3f0168e3f714c5
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 11:08:43 2024 +0100
Mark retried work requests as BLOCKED if necessary
Retried work requests with incomplete dependencies or those with a
manual unblock strategy shouldn't go straight back into `PENDING`.
Part of #399.
commit 965e1e46b27bd4b4cb29415394b406b6776881cf
Merge: 90c9804c 95b407e3
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 09:39:15 2024 +0000
Merge branch 'simplify-admin-scripts' into 'devel'
Use console_scripts for debusine-{admin,signing}
Closes #318
See merge request freexian-team/debusine!994
commit f706b6bffc6adf41fbbbcc9ceac39bfd2de117de
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jul 11 10:31:02 2024 +0100
Move coverage -p option to configuration file
I've noticed for a while that the `coverage erase` step in `make
coverage` didn't seem to actually erase old runs. When I finally got
round to investigating, I realized that this is because it needs to know
that `coverage run` was configured to emit data files in parallel mode
(https://coverage.readthedocs.io/en/latest/config.html#run-parallel) in
order to work out which files to remove, but because we were only
configuring that on the `coverage run` command line, `coverage erase`
wasn't aware of it.
Moving this option to the configuration file makes the `coverage erase`
step work reliably.
commit 95b407e39118a381461bd43b1cceb6b033608494
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jul 10 12:32:09 2024 +0100
Drop privileges if running debusine-{admin,signing} as root
Fixes: #318
commit 453dc55564a76087e4e4f553ba4fe8c6b842492c
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jul 10 12:05:21 2024 +0100
Use console_scripts for debusine-{admin,signing}
This integrates better with Python packaging.
commit 90c9804ce98fdea62c0784e858487b25e4ef297f
Merge: 85a93062 136f3171
Author: Enrico Zini <enrico@debian.org>
Date: Wed Jul 10 10:33:01 2024 +0000
Merge branch 'pygments' into 'devel'
Use pygments to render text content (Fixes: #439)
Closes #439
See merge request freexian-team/debusine!979
commit 136f317124d7cca7b5e95241cd252d2f58739200
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Jul 8 11:40:15 2024 +0200
Generate debusine-code-highlight.css with make css, and add a header
commit 40b00c8e3e609880101fe25fde786b5f0bb387c4
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Jul 6 12:22:08 2024 +0200
Format text with pygments
commit 6999b70ccaa21a1b0dff0d90aeb2bc60ab8d7bda
Author: Enrico Zini <enrico@enricozini.org>
Date: Sat Jul 6 11:54:15 2024 +0200
Added dependency on pygments
commit fc6ffc2d918644383a521281ec11273089092952
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Jul 10 10:41:54 2024 +0200
Make generated workspace name match deleted workspace name
commit 85a93062b60c7bf15e29422cf37c8c06d95c4aec
Merge: 84c8c76d 1d4a1e3d
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 15:07:36 2024 +0000
Merge branch 'multiple-build-logs' into 'devel'
Fix error when viewing an artifact with multiple related build logs
See merge request freexian-team/debusine!989
commit 1d4a1e3d7798e4019ef87eb3dc8f944e23fc03c9
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 15:01:20 2024 +0100
Fix error when viewing an artifact with multiple related build logs
This can happen if the work request that created the artifact has been
retried.
commit 84c8c76d68ed4458cccdc11dbc0b76c363ba0c7f
Merge: 7e7b79fe 0f8a38ab
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 13:41:48 2024 +0000
Merge branch 'reduce-mypy-workarounds' into 'devel'
Remove some mypy workaround configuration
See merge request freexian-team/debusine!988
commit 7e7b79fe5a103103c727db0aaa26f3120e5ec30e
Merge: 552bd707 4dc8239b
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 13:41:26 2024 +0000
Merge branch 'collection-lookup-related' into 'devel'
Avoid N+1 queries in lookup_multiple
See merge request freexian-team/debusine!987
commit 0f8a38abfda93b46a069c755df31822ce719faa9
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 12:14:45 2024 +0100
Remove some mypy workaround configuration
These handled issues in dependencies that no longer seem to exist.
commit 4dc8239beeab3a80dcaaa63e1798b1e5146eac85
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 11:59:00 2024 +0100
Avoid N+1 queries in lookup_multiple
`lookup_multiple` made one SQL query for each of the
artifacts/collections referred to by the set of child items it returns.
While we should probably also look into batching or lazily loading the
returned set in future, this is still unnecessarily slow.
Noticed while thinking about #429.
commit 552bd7075c782c8af1fe206a714dbeffe1214463
Merge: d60ec149 691e8a18
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 10:39:56 2024 +0000
Merge branch 'flake8-enable-n802' into 'devel'
Enable flake8 N802 checks
See merge request freexian-team/debusine!984
commit d60ec149850b3cdc0bef4ed4ba335039a2d6a1cb
Merge: 34b953b1 c8b23524
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 10:38:33 2024 +0000
Merge branch 'flake8-enable-rst304' into 'devel'
Enable flake8 RST304 checks
See merge request freexian-team/debusine!983
commit 34b953b1522e7836ab6e040708dbb124e5c10443
Merge: 59fdc321 e2b4446f
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 9 10:37:59 2024 +0000
Merge branch 'flake8-migrations' into 'devel'
Enable flake8 for migration helper code
See merge request freexian-team/debusine!982
commit 691e8a180f33af475a097ae1c22af0f6f6f4f9e1
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 8 18:12:15 2024 +0100
Enable flake8 N802 checks
This has no current violations.
commit c8b23524ea2977c68981492291a32a63c1de620c
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 8 18:00:12 2024 +0100
Enable flake8 RST304 checks
https://github.com/peterjc/flake8-rst-docstrings/issues/7 has been
fixed, allowing us to enable "Unknown interpreted text role" checks and
catch typos in Sphinx role names.
commit e2b4446f614fa28188ec0b54b32a660e40e4a39e
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 8 17:43:07 2024 +0100
Enable flake8 for migration helper code
We need to exclude migrations themselves because Django-generated
migrations don't pass our flake8 style and it isn't really interesting
to put effort into making them do so; but the breadth of the exclusion
meant that my editor didn't highlight obvious mistakes in
`debusine/db/migrations/tests/test_migrations.py`, which I found
inconvenient.
commit 1bdee4cba0a679f8cd9881abdf06f5017a489954
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 8 15:14:26 2024 +0100
Add ExtractForSigning task
This constructs artifacts that can be used as input to the `Sign` task.
Fixes: #425
commit 59fdc32149a3ddc74a0cdcd7961d1ea6e2da3c8c
Merge: 91a6efab 8303f94e
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 8 14:01:41 2024 +0000
Merge branch 'pydantic-validators-are-classmethods' into 'devel'
Explicitly mark pydantic validators as class methods
See merge request freexian-team/debusine!980
commit 91a6efab961812e6f891ba9b9fdb27b0c696e6b2
Merge: d39067cd 007683c6
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 8 14:00:37 2024 +0000
Merge branch 'task-assemble-signed-source' into 'devel'
Add AssembleSignedSource task
See merge request freexian-team/debusine!953
commit d39067cd558161b969c70ccec056dd8f80a4939c
Merge: 3355ac51 4f90eb15
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 8 12:56:31 2024 +0000
Merge branch 'design-extract-for-signing-task' into 'devel'
Add design for ExtractForSigning task
See merge request freexian-team/debusine!966
commit 007683c6f4ade70c918bcc43c05a703942ef1eb7
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jun 27 16:15:03 2024 +0100
Extend integration tests to cover AssembleSignedSource
commit 4f90eb15c54e3ca1f89a05b26844297c629ed521
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jul 2 14:34:39 2024 +0100
Add design for ExtractForSigning task
When I started work on implementing the changes to the Sbuild task to
extract signing-input artifacts for use by the Sign task, I realized
that I'd bound the design too closely to the Sbuild task; it should
really be a separate task so that we can drop in something else in place
of `sbuild` more easily in future if we need to, or perhaps so that we
can sign binaries built outside debusine.
This adds a design for a new `ExtractForSigning` task instead. I also
specified its behaviour somewhat more precisely.
Part of #425.
commit 8a256638bc28fb83d50b2693b1f179e3467c281b
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jun 27 16:13:41 2024 +0100
Add AssembleSignedSource task
Part of #425.
commit 9bf02c516a642e9bff3d9c4a249288a19f477ac2
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jun 27 16:09:49 2024 +0100
Add Debusine.relation_list
This is needed to iterate over related artifacts in tasks.
commit 8303f94e091972f4cce53ca07f96c83db100e837
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 8 12:16:05 2024 +0100
Explicitly mark pydantic validators as class methods
`flake8-unused-arguments` raises U100 for the `cls` argument of pydantic
validators without `@classmethod`. However, pydantic is perfectly happy
to decorate callables that have already been explicitly marked as class
methods, and indeed the documentation for the equivalent feature in
pydantic 2 recommends doing that
(https://docs.pydantic.dev/latest/concepts/validators/#field-validators).
This approach means we don't need to override `flake8-unused-arguments`.
commit f6bd5847666b349079107fe5b150437526177874
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jul 8 12:10:25 2024 +0100
Fix flake8 E226 violation
commit 3355ac516a2b536da21a5e2204991e5cdfc2891c
Merge: f6d130fd fe3ca65f
Author: Enrico Zini <enrico@debian.org>
Date: Mon Jul 8 10:09:11 2024 +0000
Merge branch 'view-artifact-files' into 'devel'
View files in artifacts in user-friendly view
See merge request freexian-team/debusine!971
commit fe3ca65f47da1488fdb823bcf5e9bc20252c4a1c
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Jul 8 11:33:27 2024 +0200
Switched to en_US spelling
commit 41370221daea64350046711a30c62ebc65204aba
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 5 16:49:12 2024 +0200
Revamped artifact layout.
If the artifact contains only one file, show it right away.
Merge build log view and artifact view.
commit 6cf8ea2274e5b8aa56daa1a8629b3897deeabbf9
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 5 15:57:41 2024 +0200
Simplify artifact detail view.
We do not need pagination yet, so YAGNI and turn this into a clean DetailView.
When we will have artifacts with many files, we can see how to render them
commit a30c7d6b0b6e4c7b8fb701b6e3e6e1f98813ea94
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 5 15:36:43 2024 +0200
Do not show hashes in artifact file list
commit e42fe9ac92316348ce7fb68f4f4bf45fe13ceb75
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 5 11:18:37 2024 +0200
Implemented per-file view and download, with UI specialized by file type
commit 45a939f5f95a0ee8d6bff39e3aacff04cf9f61a5
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Jul 3 16:50:49 2024 +0200
Rename add_object_actions to add_object_shortcuts
commit f6d130fd37b618a4969ba4f8ca4b95c55550d02e
Merge: 2498944c a26ed2be
Author: Enrico Zini <enrico@debian.org>
Date: Fri Jul 5 14:44:59 2024 +0000
Merge branch 'playground-vm-ssh-key-cleanup' into 'devel'
Also try to cleanup ipv4 from authorized_keys file
See merge request freexian-team/debusine!977
commit a26ed2be7dcf82d209c32343c8674d32191b68c3
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 5 15:40:37 2024 +0200
Also try to cleanup ipv4 from authorized_keys file
commit 2498944c41d0e268a08ef6b4d76d907e80236df4
Merge: 6389292b 66b7e527
Author: Enrico Zini <enrico@debian.org>
Date: Fri Jul 5 12:55:02 2024 +0000
Merge branch 'playground-address-ssh' into 'devel'
playground-vm: make it easier to switch to ipv4 for ssh
See merge request freexian-team/debusine!976
commit 6389292b99a462f1f8d9e2fa8cde2506f893889f
Merge: 9bd7642c 2226d6d5
Author: Carles Pina i Estany <carles@pina.cat>
Date: Fri Jul 5 12:31:52 2024 +0000
Merge branch 'move-workers-tests' into 'devel'
Move Workers tests from test_work_requests.py to test_workers.py
See merge request freexian-team/debusine!975
commit 9bd7642c316aa7e99f6f23ce7caf276e398e611c
Merge: c87306e2 93ee59f5
Author: Carles Pina i Estany <carles@pina.cat>
Date: Fri Jul 5 12:30:25 2024 +0000
Merge branch 'local-artifact-categories' into 'devel'
debusine client create-artifact: CLI accept only valid artifact categories
See merge request freexian-team/debusine!974
commit 66b7e5276a035eda7f23f3a626b378efb8ec5fc1
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jul 5 10:57:08 2024 +0200
Made a specific function to get address for ssh connections, to make it easier to switch to ipv4 if needed
commit 2226d6d57e8a4035a5980f67e2de5246ac2f969d
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Jul 4 16:04:24 2024 +0200
Move Workers tests from test_work_requests.py to test_workers.py
commit 93ee59f5091b6a8fdde57d45bdbd5fe72b58a239
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Jul 4 10:26:07 2024 +0200
debusine client create-artifact: CLI accept only valid artifact categories
commit c87306e2e20ab8d05db644c41b428a6320b72661
Merge: 43acde9d 93f22841
Author: Enrico Zini <enrico@debian.org>
Date: Thu Jul 4 08:58:24 2024 +0000
Merge branch 'wr_input' into 'devel'
Show input artifacts in work request views
See merge request freexian-team/debusine!970