1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-30 03:18:20 +00:00
trezor-firmware/ci/test.yml

325 lines
6.4 KiB
YAML
Raw Normal View History

image: registry.gitlab.com/satoshilabs/trezor/trezor-firmware/environment
.only_changes_core: &only_changes_core
only:
changes:
- ci/**/*
- common/**/*
- core/**/*
- crypto/**/*
- python/**/*
- storage/**/*
- tests/**/*
- tools/**/*
- vendor/**/*
.only_changes_legacy: &only_changes_legacy
only:
changes:
- ci/**/*
- common/**/*
- crypto/**/*
- legacy/**/*
- python/**/*
- storage/**/*
- tests/**/*
- tools/**/*
- vendor/**/*
# Core
core unix unit test:
stage: test
<<: *only_changes_core
dependencies:
- core unix frozen regular build
script:
- cd core
- pipenv run make test
core unix device test:
stage: test
<<: *only_changes_core
dependencies:
- core unix frozen regular build
script:
- cd core
- pipenv run make test_emu
- cp /var/tmp/trezor.log ${CI_PROJECT_DIR}
artifacts:
name: core-unix-device-test
paths:
- trezor.log
- tests/junit.xml
expire_in: 1 week
when: always
reports:
junit: tests/junit.xml
core unix btconly device test:
2019-08-22 18:18:44 +00:00
stage: test
<<: *only_changes_core
2019-08-22 18:18:44 +00:00
dependencies:
- core unix frozen btconly build
2019-08-22 18:18:44 +00:00
variables:
MICROPYTHON: "../build/unix/micropython-bitcoinonly"
TREZOR_PYTEST_SKIP_ALTCOINS: 1
script:
- cd core
- pipenv run make test_emu
- cp /var/tmp/trezor.log ${CI_PROJECT_DIR}
artifacts:
name: core-unix-btconly-device-test
paths:
- trezor.log
- tests/junit.xml
expire_in: 1 week
when: always
reports:
junit: tests/junit.xml
2019-08-22 18:18:44 +00:00
core unix monero test:
stage: test
<<: *only_changes_core
dependencies:
- core unix frozen regular build
script:
- cd core
- pipenv run make test_emu_monero
- cp /var/tmp/trezor.log ${CI_PROJECT_DIR}
artifacts:
name: core-unix-monero-test
paths:
- trezor.log
expire_in: 1 week
when: always
2019-09-14 12:47:30 +00:00
core unix u2f test:
stage: test
<<: *only_changes_core
2019-10-26 09:27:49 +00:00
retry: 2 # see https://github.com/trezor/trezor-firmware/issues/596
2019-09-14 12:47:30 +00:00
dependencies:
- core unix frozen regular build
script:
2019-09-14 12:59:11 +00:00
- make -C tests/fido_tests/u2f-tests-hid
2019-09-14 12:47:30 +00:00
- cd core
- pipenv run make test_emu_u2f
- cp /var/tmp/trezor.log ${CI_PROJECT_DIR}
artifacts:
name: core-unix-u2f-test
paths:
- trezor.log
expire_in: 1 week
when: always
2019-09-14 12:47:30 +00:00
2019-10-18 13:35:45 +00:00
core unix fido2 test:
stage: test
<<: *only_changes_core
dependencies:
- core unix frozen regular build
script:
- cd core
- pipenv run make test_emu_fido2
- cp /var/tmp/trezor.log ${CI_PROJECT_DIR}
artifacts:
name: core-unix-fido2-test
paths:
- trezor.log
- tests/junit.xml
expire_in: 1 week
reports:
junit: tests/junit.xml
when: always
2019-10-18 13:35:45 +00:00
2019-10-25 12:03:44 +00:00
core unix click test:
stage: test
<<: *only_changes_core
dependencies:
- core unix frozen debug build
script:
- cd core
- pipenv run make test_emu_click
- cp /var/tmp/trezor.log ${CI_PROJECT_DIR}
artifacts:
name: core-unix-click-test
paths:
- trezor.log
- tests/junit.xml
reports:
junit: tests/junit.xml
expire_in: 1 week
when: always
2019-10-25 12:03:44 +00:00
core unix upgrade test:
stage: test
<<: *only_changes_core
dependencies:
- core unix frozen debug build
variables:
TREZOR_UPGRADE_TEST: "core"
script:
2019-09-12 13:42:40 +00:00
- tests/download_emulators.sh
- pipenv run pytest --junitxml=tests/junit.xml tests/upgrade_tests
artifacts:
name: core-unix-upgrade-test
paths:
- tests/junit.xml
reports:
junit: tests/junit.xml
expire_in: 1 week
when: always
2019-10-25 12:03:44 +00:00
core unix persistence test:
stage: test
<<: *only_changes_core
dependencies:
- core unix frozen debug build
script:
- pipenv run pytest --junitxml=tests/junit.xml tests/persistence_tests
artifacts:
name: core-unix-persistence-test
paths:
- tests/junit.xml
reports:
junit: tests/junit.xml
expire_in: 1 week
when: always
2019-10-25 12:03:44 +00:00
2019-10-16 13:30:41 +00:00
core mypy test:
stage: test
<<: *only_changes_core
2019-10-18 13:35:45 +00:00
dependencies: [] # no artifacts needed
2019-10-16 13:30:41 +00:00
script:
- cd core
2019-10-22 13:22:59 +00:00
- pipenv run mypy --version
- pipenv run make res # needed for clean mypy
- pipenv run make mypy
2019-10-16 13:30:41 +00:00
# Crypto
crypto test:
stage: test
only:
changes:
- ci/**/*
- crypto/**/*
dependencies:
- crypto build
script:
- cd crypto
- ./tests/aestst
- ./tests/test_check
- ./tests/test_openssl 1000
- ITERS=10 pipenv run pytest --junitxml=tests/junit.xml tests
- CK_TIMEOUT_MULTIPLIER=20 valgrind -q --error-exitcode=1 ./tests/test_check
artifacts:
name: crypto-test
paths:
- tests/junit.xml
reports:
junit: tests/junit.xml
expire_in: 1 week
when: always
# Legacy
legacy emu test:
stage: test
<<: *only_changes_legacy
dependencies:
- legacy emu regular build
variables:
EMULATOR: "1"
script:
- cd legacy
- pipenv run script/test
artifacts:
name: legacy-emu-test
paths:
- tests/junit.xml
reports:
junit: tests/junit.xml
expire_in: 1 week
when: always
legacy emu btconly test:
2019-08-22 18:18:44 +00:00
stage: test
<<: *only_changes_legacy
2019-08-22 18:18:44 +00:00
dependencies:
- legacy emu btconly build
2019-08-22 18:18:44 +00:00
variables:
EMULATOR: "1"
EMULATOR_BINARY: "firmware/trezor-bitcoinonly.elf"
TREZOR_PYTEST_SKIP_ALTCOINS: 1
script:
- cd legacy
- pipenv run script/test
artifacts:
name: legacy-emu-btconly-test
paths:
- tests/junit.xml
reports:
junit: tests/junit.xml
expire_in: 1 week
when: always
2019-08-22 18:18:44 +00:00
legacy emu upgrade test:
stage: test
<<: *only_changes_legacy
dependencies:
- legacy emu regular build
variables:
TREZOR_UPGRADE_TEST: "legacy"
script:
2019-09-12 13:42:40 +00:00
- tests/download_emulators.sh
- pipenv run pytest --junitxml=tests/junit.xml tests/upgrade_tests
artifacts:
name: legacy-emu-upgrade-test
paths:
- tests/junit.xml
reports:
junit: tests/junit.xml
expire_in: 1 week
when: always
# Python
python test:
stage: test
only:
changes:
- ci/**/*
- common/**/*
- python/**/*
script:
- cd python
- pipenv run tox
# Storage
storage test:
stage: test
only:
changes:
- ci/**/*
- storage/**/*
dependencies: []
script:
- cd storage/tests
- pipenv run make build
- pipenv run make tests_all
artifacts:
name: storage-test
paths:
- tests/junit.xml
reports:
junit: tests/junit.xml
expire_in: 1 week
when: always