Hi, I have a GH action to keep the Folding at Home snap updated. It uses a (previously exported) login token to log in and that used to work. However, since last month it’s failing with the following error.
Run echo *** | snapcraft login --with -
Login successful. You now have these capabilities:
snaps: ['folding-at-home-fcole90']
channels: ['stable', 'edge', 'candidate', 'beta']
permissions: ['package_access', 'package_manage', 'package_push', 'package_register', 'package_release', 'package_update']
expires: 2022-03-17T22:05:35.869826
Sorry, an error occurred in Snapcraft:
['MmD5jWldYNMNgb2rFFht3FNKGJx1FLLV'] is not valid under any of the given schemas
Failed validating 'oneOf' in schema['properties']['packages']:
{'oneOf': [{'description': 'A list of packages to restrict the '
'macaroon to. Those can be defined in two '
'ways: 1- by name: each item in the list '
'should be a json dict like `{"name": '
'"the-name"}`, or 2- by snap_id: each item '
'in the list should be a json dict like '
'`{"snap_id": "some-snap-id-1234"}`.',
'items': {'anyOf': [{'required': ['snap_id']},
{'required': ['name']}],
'description': 'Package identifier: a dict with '
'at least name or snap_id keys.',
'properties': {'name': {'type': 'string'},
'snap_id': {'type': 'string'}},
'type': 'object'},
'minItems': 1,
'type': 'array',
'uniqueItems': True},
{'type': 'null'}]}
On instance['packages']:
['MmD5jWldYNMNgb2rFFht3FNKGJx1FLLV']
Traceback (most recent call last):
File "/snap/snapcraft/6512/bin/snapcraft", line 33, in <module>
sys.exit(load_entry_point('snapcraft==4.8', 'console_scripts', 'snapcraft')())
File "/snap/snapcraft/6512/lib/python3.6/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/snap/snapcraft/6512/lib/python3.6/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/snap/snapcraft/6512/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/snap/snapcraft/6512/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/snap/snapcraft/6512/lib/python3.6/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/snap/snapcraft/6512/lib/python3.6/site-packages/snapcraft/cli/store.py", line 840, in whoami
account = StoreClientCLI().whoami().account
File "/snap/snapcraft/6512/lib/python3.6/site-packages/snapcraft/storeapi/_store_client.py", line 97, in whoami
return self.dashboard.whoami()
File "/snap/snapcraft/6512/lib/python3.6/site-packages/snapcraft/storeapi/_dashboard_api.py", line 369, in whoami
return whoami.WhoAmI.unmarshal(response.json())
File "/snap/snapcraft/6512/lib/python3.6/site-packages/snapcraft/storeapi/v2/whoami.py", line 70, in unmarshal
jsonschema.validate(payload, WHOAMI_JSONSCHEMA)
File "/snap/snapcraft/6512/lib/python3.6/site-packages/jsonschema/validators.py", line 478, in validate
cls(schema, *args, **kwargs).validate(instance)
File "/snap/snapcraft/6512/lib/python3.6/site-packages/jsonschema/validators.py", line 123, in validate
raise error
jsonschema.exceptions.ValidationError: ['MmD5jWldYNMNgb2rFFht3FNKGJx1FLLV'] is not valid under any of the given schemas
Failed validating 'oneOf' in schema['properties']['packages']:
{'oneOf': [{'description': 'A list of packages to restrict the '
'macaroon to. Those can be defined in two '
'ways: 1- by name: each item in the list '
'should be a json dict like `{"name": '
'"the-name"}`, or 2- by snap_id: each item '
'in the list should be a json dict like '
'`{"snap_id": "some-snap-id-1234"}`.',
'items': {'anyOf': [{'required': ['snap_id']},
{'required': ['name']}],
'description': 'Package identifier: a dict with '
'at least name or snap_id keys.',
'properties': {'name': {'type': 'string'},
'snap_id': {'type': 'string'}},
'type': 'object'},
'minItems': 1,
'type': 'array',
'uniqueItems': True},
{'type': 'null'}]}
On instance['packages']:
['MmD5jWldYNMNgb2rFFht3FNKGJx1FLLV']
You can find the traceback in file '/tmp/tmpai0u4zyd/trace.txt'.
Error: Process completed with exit code 1.
Is it a bug or am I doing something wrong?
I submitted a bug report some time ago but got no feedback so far. I use this action to auto rebuild the package upon a CVE is discovered, so now, with this bug, nothing gets automatically released anymore.