Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 2.1

# The authoritative multi-release emulator matrix lives in GitHub Actions.
# Keep this smoke job while the legacy CircleCI project remains connected so
# its required status verifies the checkout instead of failing at config load.
jobs:
canonical-smoke:
docker:
- image: cimg/python:3.11
steps:
- run:
name: Checkout current branch over HTTPS
command: |
git clone --depth 1 -b "$CIRCLE_BRANCH" \
https://github.com/keepkey/python-keepkey.git .
git submodule update --init --recursive
- run:
name: Validate canonical Python and EOS vector contracts
command: |
python -m py_compile keepkeylib/*.py tests/test_msg_solana_signtx.py
python -m pip install --quiet pytest requests
python -m pytest -q tests/unit/test_eos_updateauth_vector.py

workflows:
canonical:
jobs:
- canonical-smoke
7 changes: 6 additions & 1 deletion tests/test_msg_solana_signtx.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,10 @@ def test_solana_sign_message_blocked_without_advanced_mode(self):
self.requires_firmware("7.14.0")
self.requires_fullFeature()
self.requires_message("SolanaSignMessage")
# AdvancedMode belongs to the live wallet session. Start this negative
# policy proof from factory state rather than relying on test order or
# on apply_policy(False) to revoke an already-authorized session.
self.client.wipe_device()
self.setup_mnemonic_allallall()
self.client.apply_policy('AdvancedMode', False)

Expand All @@ -158,9 +162,10 @@ def test_solana_sign_plain_text_message_without_advanced_mode(self):
AdvancedMode. Printable text that never contains the signer's key
cannot authorize a transaction: a tx signature only verifies when the
signer's key is in the message's account keys."""
self.requires_firmware("7.16.0")
self.requires_firmware("7.15.0")
self.requires_fullFeature()
self.requires_message("SolanaSignMessage")
self.client.wipe_device()
self.setup_mnemonic_allallall()
self.client.apply_policy('AdvancedMode', False)

Expand Down
Loading