Skip to content

Commit 34a1180

Browse files
committed
Removed extra_attrs manifest digest override in batch signer
Override causes manifest_digest to be inconsistent. Also make sure pipeline_run_id is always string
1 parent a20106b commit 34a1180

3 files changed

Lines changed: 16 additions & 6 deletions

File tree

src/pubtools/sign/signers/msgsigner.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -694,9 +694,9 @@ def _create_msg_batch_message(
694694
signing_keys.append(_signing_key)
695695

696696
extra_attrs = extra_attrs or {}
697-
headers = self._construct_headers(sig_type, extra_attrs=extra_attrs)
698-
if isinstance(operation, ContainerSignOperation):
699-
extra_attrs["manifest_digest"] = operation.digests
697+
extra_attrs_headers = extra_attrs.copy()
698+
extra_attrs_headers.pop("manifest_digest")
699+
headers = self._construct_headers(sig_type, extra_attrs=extra_attrs_headers)
700700
ret = MsgMessage(
701701
headers=headers,
702702
body=self._construct_signing_batch_message(
@@ -745,7 +745,7 @@ def _prepare_messages(self: Self, operation: ContainerSignOperation) -> List[Lis
745745
args=[claims, repo, operation, SignRequestType.BATCH],
746746
kwargs={
747747
"extra_attrs": {
748-
"pipeline_run_id": operation.task_id,
748+
"pipeline_run_id": str(operation.task_id),
749749
"manifest_digest": digests,
750750
}
751751
},
@@ -758,7 +758,7 @@ def _prepare_messages(self: Self, operation: ContainerSignOperation) -> List[Lis
758758
args=[claims, repo, operation, SignRequestType.BATCH],
759759
kwargs={
760760
"extra_attrs": {
761-
"pipeline_run_id": operation.task_id,
761+
"pipeline_run_id": str(operation.task_id),
762762
"manifest_digest": digests,
763763
}
764764
},

tests/test_msg_batch_signer.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,12 +255,19 @@ def test_create_msg_batch_message(f_config_msg_batch_signer_ok):
255255
task_id="1",
256256
)
257257
assert signer._create_msg_batch_message(
258-
data, "repo", operation, SignRequestType.BATCH
258+
data,
259+
"repo",
260+
operation,
261+
SignRequestType.BATCH,
262+
extra_attrs={
263+
"manifest_digest": ["some-digest-1", "some-digest-2", "some-digest-3"]
264+
},
259265
) == [
260266
MsgMessage(
261267
headers={
262268
"service": "pubtools-sign",
263269
"environment": "prod",
270+
"expires": 3000,
264271
"owner_id": "pubtools-sign-test",
265272
"mtype": "batch",
266273
"source": "metadata",

tests/test_msg_signer.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,7 @@ def test__construct_headers(f_config_msg_signer_ok):
489489
assert ret == {
490490
"service": "pubtools-sign",
491491
"environment": "prod",
492+
"expires": 3000,
492493
"owner_id": "pubtools-sign-test",
493494
"mtype": SignRequestType.CONTAINER,
494495
"source": "metadata",
@@ -520,6 +521,7 @@ def test_create_msg_message(f_config_msg_signer_ok):
520521
MsgMessage(
521522
headers={
522523
"service": "pubtools-sign",
524+
"expires": 3000,
523525
"environment": "prod",
524526
"owner_id": "pubtools-sign-test",
525527
"mtype": SignRequestType.CONTAINER,
@@ -543,6 +545,7 @@ def test_create_msg_message(f_config_msg_signer_ok):
543545
MsgMessage(
544546
headers={
545547
"service": "pubtools-sign",
548+
"expires": 3000,
546549
"environment": "prod",
547550
"owner_id": "pubtools-sign-test",
548551
"mtype": SignRequestType.CLEARSIGN,

0 commit comments

Comments
 (0)