fix(ci): run and build emulators with the same ts-tvl config as firmware
What changed, and why it matters
This is a routine CI (Continuous Integration) maintenance change for Trezor firmware. It updates how automated test servers are configured so that test emulators use the same configuration file as the real firmware tests. There is no indication this fixes a security vulnerability or affects end-user devices.
No security action required. Treat as normal CI hygiene.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit modifies .github/workflows/core.yml to change the path of the ts-tvl (Tropic model) configuration used when starting model_server in GitHub Actions workflows. Previously, two jobs used vendor/ts-tvl/model_configs/example_config.yml; they now use tests/tropic_model/config.yml, matching the configuration already used by the test_emu job. The commit also redirects server output to a log file and normalizes a multi-line run step to a single line. This is a consistency fix for CI test infrastructure, not a firmware or cryptographic change.
Changed components
.github/workflows/core.ymlCI test infrastructure for Trezor emulator buildsInspect captured patch +3 / −4
diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml
index c44918dc8..f91c1519f 100644
--- a/.github/workflows/core.yml
+++ b/.github/workflows/core.yml
@@ -138,7 +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 --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_sanity"
- run: cp core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-${{ matrix.model }}-${{ matrix.coins }}
- uses: actions/upload-artifact@v4
@@ -208,7 +208,7 @@ jobs:
submodules: recursive
- uses: ./.github/actions/environment
- run: nix-shell --run "uv run make -C core build_unix"
- - 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 --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"
- run: nix-shell --run "uv run make -C core test_emu_sanity" # sanity check non-frozen emulator
@@ -301,8 +301,7 @@ jobs:
- uses: ./.github/actions/environment
- name: Start Tropic model
if: ${{ env.TREZOR_MODEL == 'T3W1' && env.ACTIONS_DO_UI_TEST != 'true' }} # ACTIONS_DO_UI_TEST refers to the test_emu_ui_multicore below which uses --control-emulators and starts tvl internally
- 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 --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()
Why this scored 13/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.