chore(tests): start Tropic model in CI tests
What changed, and why it matters
This commit only changes the project's automated testing configuration. It adds steps to start a 'Tropic' simulation model during certain CI test jobs for the T3W1 hardware model. There is no change to the firmware code that runs on user devices, no fix for a security flaw, and no indication this is a security-related patch.
No security action needed. Treat as routine CI/test maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit modifies .github/workflows/core.yml to set DISABLE_TROPIC=0 and to spawn a vendor/ts-tvl model_server process in several emulator test jobs when the T3W1 model is being tested. This is purely CI/test infrastructure plumbing for a hardware model simulator. No source code, cryptography, authentication, or device firmware behavior is changed.
Changed components
.github/workflows/core.ymlInspect captured patch +15 / −0
diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml
index 734390b26..801cefb55 100644
--- a/.github/workflows/core.yml
+++ b/.github/workflows/core.yml
@@ -129,6 +129,7 @@ jobs:
ADDRESS_SANITIZER: ${{ matrix.asan == 'asan' && '1' || '0' }}
LSAN_OPTIONS: "suppressions=../../asan_suppressions.txt"
QUIET_MODE: 1
+ DISABLE_TROPIC: 0
steps:
- uses: actions/checkout@v4
with:
@@ -137,6 +138,7 @@ jobs:
- run: nix-shell --run "uv run make -C core build_bootloader_emu"
if: matrix.coins == 'universal' && matrix.asan == 'noasan'
- run: nix-shell --run "uv run make -C core build_unix_frozen"
+ - run: nix-shell --arg fullDeps true --run "cd vendor/ts-tvl/model_configs/example_config && poetry env use 3.12 && poetry install && poetry run model_server tcp -c example_config.yml &"
- run: nix-shell --run "uv run make -C core test_emu_sanity"
- run: cp core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-${{ matrix.model }}-${{ matrix.coins }}
- uses: actions/upload-artifact@v4
@@ -297,6 +299,10 @@ jobs:
path: core/build
- run: chmod +x core/build/unix/trezor-emu-core*
- uses: ./.github/actions/environment
+ - name: Start Tropic model
+ if: ${{ env.TREZOR_MODEL == 'T3W1' }}
+ run: |
+ nix-shell --arg fullDeps true --run "cd vendor/ts-tvl && poetry env use 3.12 && poetry install && poetry run model_server tcp -c ../../tests/tropic_model/config.yml > ../../tests/trezor-tropic-model.log 2>&1 &"
- run: nix-shell --run "uv run make -C core ${{ env.ACTIONS_DO_UI_TEST == 'true' && 'test_emu_ui_multicore' || 'test_emu' }}"
- run: tail -v -n50 tests/trezor*.log || true
if: failure()
@@ -430,6 +436,9 @@ jobs:
path: core/build
- run: chmod +x core/build/unix/trezor-emu-core*
- uses: ./.github/actions/environment
+ - name: Start Tropic model
+ if: ${{ matrix.model == 'T3W1' }}
+ run: nix-shell --arg fullDeps true --run "cd vendor/ts-tvl && poetry env use 3.12 && poetry install && poetry run model_server tcp -c ../../tests/tropic_model/config.yml > ../../tests/trezor-tropic-model.log 2>&1 &"
- run: nix-shell --run "uv run make -C core test_emu_persistence_ui"
if: ${{ matrix.asan == 'noasan' }}
- run: nix-shell --run "uv run make -C core test_emu_persistence"
@@ -592,6 +601,9 @@ jobs:
path: core/build
- run: chmod +x core/build/unix/trezor-emu-core*
- uses: ./.github/actions/environment
+ - name: Start Tropic model
+ if: ${{ matrix.model == 'T3W1' }}
+ run: nix-shell --arg fullDeps true --run "cd vendor/ts-tvl && poetry env use 3.12 && poetry install && poetry run model_server tcp -c ../../tests/tropic_model/config.yml > ../../tests/trezor-tropic-model.log 2>&1 &"
- run: nix-shell --run "uv run make -C tests/fido_tests/u2f-tests-hid"
- run: nix-shell --run "uv run make -C core test_emu_u2f"
- uses: actions/upload-artifact@v4
@@ -627,6 +639,9 @@ jobs:
path: core/build
- run: chmod +x core/build/unix/trezor-emu-core*
- uses: ./.github/actions/environment
+ - name: Start Tropic model
+ if: ${{ matrix.model == 'T3W1' }}
+ run: nix-shell --arg fullDeps true --run "cd vendor/ts-tvl && poetry env use 3.12 && poetry install && poetry run model_server tcp -c ../../tests/tropic_model/config.yml > ../../tests/trezor-tropic-model.log 2>&1 &"
- run: nix-shell --run "uv run make -C core test_emu_fido2"
- uses: actions/upload-artifact@v4
with:
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.