diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ad833b7c5..f7af592df 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,12 +23,8 @@ variables: NIX_SHELL: "nix-shell" stages: - - environment - - prebuild - build - test - - posttest - - deploy before_script: - . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh || true @@ -37,10 +33,5 @@ before_script: - export CORE_VERSION=$($NIX_SHELL --run "./tools/version.sh core/embed/firmware/version.h") include: - - ci/environment.yml - - ci/prebuild.yml - ci/build.yml - - ci/test.yml - ci/test-hw.yml - - ci/posttest.yml - - ci/deploy.yml diff --git a/ci/build.yml b/ci/build.yml index 8b32c62d7..1d95f59b9 100644 --- a/ci/build.yml +++ b/ci/build.yml @@ -15,26 +15,6 @@ variables: # Core -# Build of Core into firmware. Regular version. -# **Are you looking for Trezor T firmware build? This is most likely it.** -core fw regular build: - stage: build - <<: *gitlab_caching - needs: [] - script: - - $NIX_SHELL --run "poetry run make -C core build_boardloader" - - $NIX_SHELL --run "poetry run make -C core build_bootloader" - - $NIX_SHELL --run "poetry run make -C core build_bootloader_ci" - - $NIX_SHELL --run "poetry run make -C core build_prodtest" - - $NIX_SHELL --run "poetry run make -C core build_firmware" - - $NIX_SHELL --run "poetry run make -C core sizecheck" - - cp core/build/firmware/firmware.bin firmware-T2T1-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-T2T1-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - # Build of Core into firmware with enabled _debug_ mode. In debug mode you can # upload mnemonic seed, use debug link etc. which enables device tests. Storage # on the device gets wiped on every start in this firmware. @@ -50,531 +30,3 @@ core fw regular debug build: paths: - firmware-T2T1-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week - -core fw regular production build: - stage: build - <<: *gitlab_caching - needs: [] - only: - - schedules # nightly build - variables: - PRODUCTION: "1" - script: - - $NIX_SHELL --run "poetry run make -C core build_boardloader" - - $NIX_SHELL --run "poetry run make -C core build_bootloader" - - $NIX_SHELL --run "poetry run make -C core build_bootloader_ci" - - $NIX_SHELL --run "poetry run make -C core build_prodtest" - - $NIX_SHELL --run "poetry run make -C core build_firmware" - - $NIX_SHELL --run "poetry run make -C core sizecheck" - - cp core/build/firmware/firmware.bin firmware-T2T1-production-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-T2T1-production-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -# Build of Core into firmware. Bitcoin-only version. -core fw btconly build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - BITCOIN_ONLY: "1" - script: - - $NIX_SHELL --run "poetry run make -C core build_firmware" - - mv core/build/firmware/firmware.bin core/build/firmware/firmware-bitcoinonly.bin - - $NIX_SHELL --run "poetry run ./tools/check-bitcoin-only core/build/firmware/firmware-bitcoinonly.bin" - - cp core/build/firmware/firmware-bitcoinonly.bin firmware-T2T1-btconly-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-T2T1-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -core fw btconly debug build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - BITCOIN_ONLY: "1" - PYOPT: "0" - script: - - $NIX_SHELL --run "poetry run make -C core build_firmware" - - cp core/build/firmware/firmware.bin firmware-T2T1-btconly-debug-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin - only: # currently used only for HW tests and deploys - - schedules # nightly build - - /^legacy\// - - /^release\// - - /^secfix\// - - /^hw\// - - /^core\// - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-T2T1-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -core fw btconly production build: - stage: build - <<: *gitlab_caching - needs: [] - only: - - schedules # nightly build - variables: - PRODUCTION: "1" - BITCOIN_ONLY: "1" - script: - - $NIX_SHELL --run "poetry run make -C core build_firmware" - - $NIX_SHELL --run "poetry run ./tools/check-bitcoin-only core/build/firmware/firmware.bin" - - cp core/build/firmware/firmware.bin firmware-T2T1-btconly-production-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-T2T1-btconly-production-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -core fw DISC1 build: - stage: build - <<: *gitlab_caching - needs: [] - only: - - schedules # nightly build - variables: - TREZOR_MODEL: "DISC1" - script: - - nix-shell --run "poetry run make -C core build_boardloader" - - nix-shell --run "poetry run make -C core build_bootloader" - - nix-shell --run "poetry run make -C core build_firmware" - - cp core/build/firmware/firmware.bin firmware-D001-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-D001-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -core fw R debug build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - TREZOR_MODEL: "R" - PYOPT: "0" - script: - - nix-shell --run "poetry run make -C core build_firmware" - - cp core/build/firmware/firmware.bin trezor-fw-debug-tr-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - trezor-fw-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -core fw R build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - TREZOR_MODEL: "R" - script: - - nix-shell --run "poetry run make -C core build_firmware" - - cp core/build/firmware/firmware.bin trezor-fw-tr-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - trezor-fw-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -# Non-frozen emulator build. This means you still need Python files -# present which get interpreted. -core unix regular build: - stage: build - <<: *gitlab_caching - needs: [] - script: - - $NIX_SHELL --run "poetry run make -C core build_unix" - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - core/build/unix # most of it needed by test_rust - expire_in: 1 week - -core unix regular asan build: - stage: build - <<: *gitlab_caching - needs: [] - only: - - schedules # nightly build - variables: - ADDRESS_SANITIZER: "1" - script: - - $NIX_SHELL --run "poetry run make -C core build_unix" - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - core/build/unix # most of it needed by test_rust - expire_in: 1 week - -# Build of Core into UNIX emulator. Something you can run on your laptop. -# Frozen version. That means you do not need any other files to run it, -# it is just a single binary file that you can execute directly. -core unix frozen regular build: - stage: build - <<: *gitlab_caching - needs: [] - script: - - $NIX_SHELL --run "poetry run make -C core build_unix_frozen" - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - core/build/unix/trezor-emu-core - expire_in: 1 week - -# Build of Core into UNIX emulator. Something you can run on your laptop. -# Frozen version. That means you do not need any other files to run it, -# it is just a single binary file that you can execute directly. -# See [Emulator](../core/emulator/index.md) for more info. -# Debug mode enabled, Bitcoin-only version. -core unix frozen btconly debug build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - PYOPT: "0" - BITCOIN_ONLY: "1" - script: - - $NIX_SHELL --run "poetry run make -C core build_unix_frozen" - - mv core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-bitcoinonly - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - core/build/unix/trezor-emu-core-bitcoinonly - expire_in: 1 week - -core unix frozen btconly debug asan build: - stage: build - <<: *gitlab_caching - needs: [] - only: - - schedules # nightly build - variables: - PYOPT: "0" - BITCOIN_ONLY: "1" - ADDRESS_SANITIZER: "1" - script: - - $NIX_SHELL --run "poetry run make -C core build_unix_frozen" - - mv core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-bitcoinonly - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - core/build/unix/trezor-emu-core-bitcoinonly - expire_in: 1 week - -# Build of Core into UNIX emulator. Something you can run on your laptop. -# Frozen version. That means you do not need any other files to run it, -# it is just a single binary file that you can execute directly. -# **Are you looking for a Trezor T emulator? This is most likely it.** -core unix frozen debug build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - PYOPT: "0" - script: - - $NIX_SHELL --run "poetry run make -C core build_unix_frozen" - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - untracked: true - expire_in: 1 week - -core unix frozen R debug build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - PYOPT: "0" - TREZOR_MODEL: "R" - script: - - nix-shell --run "poetry run make -C core build_unix_frozen" - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - untracked: true - expire_in: 10 weeks - -core unix frozen R debug build arm: - image: nixos/nix - stage: build - <<: *gitlab_caching - needs: [] - variables: - PYOPT: "0" - TREZOR_MODEL: "R" - script: - - nix-shell --run "poetry run make -C core build_unix_frozen" - - mv core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-arm - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - untracked: true - expire_in: 10 weeks - tags: - - docker_darwin_arm - -core unix frozen debug asan build: - stage: build - <<: *gitlab_caching - needs: [] - only: - - schedules # nightly build - variables: - PYOPT: "0" - ADDRESS_SANITIZER: "1" - script: - - $NIX_SHELL --run "poetry run make -C core build_unix_frozen" - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - untracked: true - expire_in: 1 week - -core unix frozen debug build arm: - image: nixos/nix - stage: build - <<: *gitlab_caching - needs: [] - only: - - master - - tags - - /^release\// - - /^secfix\// - variables: - PYOPT: "0" - script: - - $NIX_SHELL --run "poetry run make -C core build_unix_frozen" - - mv core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-arm - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - untracked: true - expire_in: 1 week - tags: - - docker_darwin_arm - -core macos frozen regular build: - stage: build - <<: *gitlab_caching - needs: [] - when: manual - tags: - - darwin_arm - script: - - $NIX_SHELL --option system x86_64-darwin --run "poetry run make -C core build_unix_frozen" - - export NAME="trezor-emu-core.darwin" - - cp -v core/build/unix/trezor-emu-core ./$NAME - - chmod +x $NAME - - echo '"$(dirname "$BASH_SOURCE")"/trezor-emu-core.darwin' > trezor-emulator.command - - chmod u+x trezor-emulator.command - allow_failure: true - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - trezor-emu-core.darwin - - trezor-emulator.command - expire_in: 1 week - -# Crypto - -# Build of our cryptographic library, which is then incorporated into the other builds. -crypto build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - ADDRESS_SANITIZER: "1" - CC: gcc - only: - changes: - - .gitlab-ci.yml - - ci/** - - crypto/** - script: - - cp -r crypto crypto_noasan - - $NIX_SHELL --run "poetry run make -C crypto" - - $NIX_SHELL --run "export ADDRESS_SANITIZER=0; poetry run make -C crypto_noasan" - - mv crypto_noasan/tests/test_check crypto/tests/test_check_noasan - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - crypto/tests/aestst - - crypto/tests/libtrezor-crypto.so - - crypto/tests/test_check - - crypto/tests/test_check_noasan - - crypto/tests/test_openssl - expire_in: 1 week - - -# Legacy - -legacy fw regular build: - stage: build - <<: *gitlab_caching - needs: [] - script: - - $NIX_SHELL --run "export PRODUCTION=1 && poetry run legacy/script/cibuild" - - $NIX_SHELL --run "poetry run legacy/script/setup" - - $NIX_SHELL --run "export PRODUCTION=0 && poetry run legacy/script/cibuild" - - $NIX_SHELL --run "poetry run make -C legacy/demo" - - mv legacy/firmware/trezor.bin firmware-T1B1-$LEGACY_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-T1B1-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -legacy fw regular debug build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - DEBUG_LINK: "1" - script: - - $NIX_SHELL --run "export PRODUCTION=1 && poetry run legacy/script/cibuild" - - $NIX_SHELL --run "poetry run legacy/script/setup" - - $NIX_SHELL --run "export PRODUCTION=0 && poetry run legacy/script/cibuild" - - mv legacy/firmware/trezor.bin firmware-T1B1-debug-$LEGACY_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-T1B1-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -legacy fw btconly build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - BITCOIN_ONLY: "1" - script: - - $NIX_SHELL --run "export PRODUCTION=1 && poetry run legacy/script/cibuild" - - $NIX_SHELL --run "poetry run legacy/script/setup" - - $NIX_SHELL --run "export PRODUCTION=0 && poetry run legacy/script/cibuild" - - mv legacy/firmware/trezor.bin legacy/firmware/trezor-bitcoinonly.bin - - $NIX_SHELL --run "poetry run ./tools/check-bitcoin-only legacy/firmware/trezor-bitcoinonly.bin" - - mv legacy/firmware/trezor-bitcoinonly.bin firmware-T1B1-btconly-$LEGACY_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-T1B1-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -legacy fw btconly debug build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - BITCOIN_ONLY: "1" - DEBUG_LINK: "1" - script: - - $NIX_SHELL --run "export PRODUCTION=1 && poetry run legacy/script/cibuild" - - $NIX_SHELL --run "poetry run legacy/script/setup" - - $NIX_SHELL --run "export PRODUCTION=0 && poetry run legacy/script/cibuild" - - $NIX_SHELL --run "poetry run ./tools/check-bitcoin-only legacy/firmware/trezor.bin" - - mv legacy/firmware/trezor.bin firmware-T1B1-btconly-debug-$LEGACY_VERSION-$CI_COMMIT_SHORT_SHA.bin - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - firmware-T1B1-btconly-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin - expire_in: 1 week - -# Regular version (not only Bitcoin) of above. -# **Are you looking for a Trezor One emulator? This is most likely it.** -legacy emu regular debug build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - DEBUG_LINK: "1" - EMULATOR: "1" - script: - - $NIX_SHELL --run "poetry run legacy/script/cibuild" - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - legacy/firmware/trezor.elf - expire_in: 1 week - -legacy emu regular debug asan build: - stage: build - <<: *gitlab_caching - needs: [] - only: - - schedules # nightly build - variables: - DEBUG_LINK: "1" - EMULATOR: "1" - ADDRESS_SANITIZER: "1" - script: - - $NIX_SHELL --run "poetry run legacy/script/cibuild" - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - legacy/firmware/trezor.elf - expire_in: 1 week - -legacy emu regular debug build arm: - image: nixos/nix - stage: build - <<: *gitlab_caching - needs: [] - only: - - master - - tags - - /^release\// - - /^secfix\// - variables: - DEBUG_LINK: "1" - EMULATOR: "1" - script: - - $NIX_SHELL --run "poetry run legacy/script/cibuild" - - mv legacy/firmware/trezor.elf legacy/firmware/trezor-arm.elf - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - legacy/firmware/trezor-arm.elf - expire_in: 1 week - tags: - - docker_darwin_arm - -# Build of Legacy into UNIX emulator. Use keyboard arrows to emulate button presses. -# Bitcoin-only version. -legacy emu btconly debug build: - stage: build - <<: *gitlab_caching - needs: [] - variables: - BITCOIN_ONLY: "1" - DEBUG_LINK: "1" - EMULATOR: "1" - script: - - $NIX_SHELL --run "poetry run legacy/script/cibuild" - - mv legacy/firmware/trezor.elf legacy/firmware/trezor-bitcoinonly.elf - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - legacy/firmware/trezor-bitcoinonly.elf - expire_in: 1 week - -legacy emu btconly debug asan build: - stage: build - <<: *gitlab_caching - needs: [] - only: - - schedules # nightly build - variables: - BITCOIN_ONLY: "1" - DEBUG_LINK: "1" - EMULATOR: "1" - ADDRESS_SANITIZER: "1" - script: - - $NIX_SHELL --run "poetry run legacy/script/cibuild" - - mv legacy/firmware/trezor.elf legacy/firmware/trezor-bitcoinonly.elf - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - legacy/firmware/trezor-bitcoinonly.elf - expire_in: 1 week diff --git a/ci/test-hw.yml b/ci/test-hw.yml index cebb27f16..3154ac99e 100644 --- a/ci/test-hw.yml +++ b/ci/test-hw.yml @@ -8,78 +8,6 @@ image: registry.gitlab.com/satoshilabs/trezor/trezor-firmware/trezor-firmware-en - .venv/ # Hardware - -# [Device tests](../tests/device-tests.md) that run against an actual physical Trezor T. -# The device needs to have special bootloader, found in `core/embed/bootloader_ci`, that -# makes it possible to flash firmware without confirmation on the touchscreen. -# -# All hardware tests are run nightly on the `master` branch, as well as on push to branches -# with whitelisted prefix. If you want hardware tests ran on your branch, make sure its -# name starts with `hw/`. -# -# Currently it's not possible to run all regular TT tests without getting into -# a state where the micropython heap is too fragmented and allocations fail -# (often manifesting as a stuck test case). For that reason some tests are -# skipped. -# See also: https://github.com/trezor/trezor-firmware/issues/1371 -hardware core regular device test: - stage: test - only: - - schedules # nightly build - - /^legacy\// - - /^release\// - - /^secfix\// - - /^hw\// - tags: - - tpmb - needs: - - core fw regular debug build - variables: - PYTEST_TIMEOUT: "1200" - script: - - cd ci/hardware_tests - - set -a - - source hardware.cfg - - set +a - - $NIX_SHELL --run "cd ../.. && poetry install" - - $NIX_SHELL --run "poetry run python bootstrap.py tt ../../firmware-T2*.bin | ts -s" - - $NIX_SHELL --run "poetry run pytest ../../tests/device_tests | ts -s" - timeout: 6h - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - expire_in: 2 days - when: always - -# Also device tests on physical Trezor T but with Bitcoin-only firmware. -hardware core btconly device test: - stage: test - only: - - schedules # nightly build - - /^legacy\// - - /^release\// - - /^secfix\// - - /^hw\// - tags: - - tpmb - needs: - - core fw btconly debug build - variables: - TREZOR_PYTEST_SKIP_ALTCOINS: 1 - PYTEST_TIMEOUT: "1200" - script: - - cd ci/hardware_tests - - set -a - - source hardware.cfg - - set +a - - $NIX_SHELL --run "cd ../.. && poetry install" - - $NIX_SHELL --run "poetry run python bootstrap.py tt ../../firmware-T2*.bin | ts -s" - - $NIX_SHELL --run "poetry run pytest ../../tests/device_tests | ts -s" - timeout: 4h - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - expire_in: 2 days - when: always - hardware core monero test: stage: test only: @@ -106,54 +34,3 @@ hardware core monero test: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" expire_in: 2 days when: always - -# [Device tests](../tests/device-tests.md) executed on physical Trezor 1. -# This works thanks to [tpmb](https://github.com/mmahut/tpmb), which is a small arduino -# device capable of pushing an actual buttons on the device. -hardware legacy regular device test: - stage: test - only: - - schedules # nightly build - - /^legacy\// - - /^release\// - - /^secfix\// - - /^hw\// - tags: - - tpmb - needs: - - legacy fw regular debug build - script: - - cd ci/hardware_tests - - $NIX_SHELL --run "./t1_hw_test.sh | ts -s" - timeout: 1h20m - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - ci/hardware_tests/*.mp4 - expire_in: 2 days - when: always - -# Also device tests on physical Trezor 1 but with Bitcoin-only firmware. -hardware legacy btconly device test: - stage: test - variables: - TREZOR_PYTEST_SKIP_ALTCOINS: 1 - only: - - schedules # nightly build - - /^legacy\// - - /^release\// - - /^secfix\// - - /^hw\// - tags: - - tpmb - needs: - - legacy fw btconly debug build - script: - - cd ci/hardware_tests - - $NIX_SHELL --run "./t1_hw_test.sh | ts -s" - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" - paths: - - ci/hardware_tests/*.mp4 - expire_in: 2 days - when: always diff --git a/core/tests/run_tests_device_emu_monero.sh b/core/tests/run_tests_device_emu_monero.sh index 40fb5383d..697b75891 100755 --- a/core/tests/run_tests_device_emu_monero.sh +++ b/core/tests/run_tests_device_emu_monero.sh @@ -11,7 +11,7 @@ terminate_test() { if [ -n "$DOCKER_ID" ]; then docker kill $DOCKER_ID 2>/dev/null >/dev/null; fi } -set -e +set -ex trap terminate_test EXIT export TEST_MIN_HF=15 # No need to test hard fork 12 or lower @@ -42,7 +42,7 @@ echo "Running tests" TIME_TESTS_START=$SECONDS if [[ "$OSTYPE" == "linux-gnu" && "$FORCE_DOCKER_USE" != 1 ]]; then echo "Note: use --heavy-tests with real device (and TREZOR_PATH) env var" - TEST_MAX_HF=15 TEST_MIN_HF=15 "$TREZOR_MONERO_TESTS_PATH" --fix-chain --chain-path=$TREZOR_MONERO_TESTS_CHAIN $@ 2>&1 > "$TREZOR_MONERO_TESTS_LOG" + TEST_MAX_HF=15 TEST_MIN_HF=15 "$TREZOR_MONERO_TESTS_PATH" --fix-chain --chain-path=$TREZOR_MONERO_TESTS_CHAIN $@ error=$? elif [[ "$OSTYPE" == "darwin"* || "$FORCE_DOCKER_USE" == 1 ]]; then diff --git a/vendor/micropython b/vendor/micropython index e63e8b868..a973bbca7 160000 --- a/vendor/micropython +++ b/vendor/micropython @@ -1 +1 @@ -Subproject commit e63e8b868ef717ae84a694eaa6782899a396a1af +Subproject commit a973bbca756ca0c9219deefea2873d3cc774839d