# Tests for non-english languages, that run only nightly # - apart from that, they run also for every branch containing "translations" in its name image: registry.gitlab.com/satoshilabs/trezor/trezor-firmware/trezor-firmware-env.nix # Caching .gitlab_caching: &gitlab_caching cache: key: "$CI_COMMIT_REF_SLUG" paths: - .venv/ ## START_DEVICE_TESTS core device test czech: stage: test <<: *gitlab_caching needs: - core unix frozen debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "T" MULTICORE: "4" # more could interfere with other jobs TEST_LANG: "cs" # czech only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_ui_multicore | ts -s" after_script: - mv core/src/.coverage.* core # there will be more coverage files (one per core) - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/junit.xml - tests/trezor.log - core/.coverage.* when: always expire_in: 1 week reports: junit: tests/junit.xml core device test french: stage: test <<: *gitlab_caching needs: - core unix frozen debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "T" MULTICORE: "4" # more could interfere with other jobs TEST_LANG: "fr" # french only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_ui_multicore | ts -s" after_script: - mv core/src/.coverage.* core # there will be more coverage files (one per core) - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/junit.xml - tests/trezor.log - core/.coverage.* when: always expire_in: 1 week reports: junit: tests/junit.xml core device test german: stage: test <<: *gitlab_caching needs: - core unix frozen debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "T" MULTICORE: "4" # more could interfere with other jobs TEST_LANG: "de" # german only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_ui_multicore | ts -s" after_script: - mv core/src/.coverage.* core # there will be more coverage files (one per core) - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/junit.xml - tests/trezor.log - core/.coverage.* when: always expire_in: 1 week reports: junit: tests/junit.xml core device test spanish: stage: test <<: *gitlab_caching needs: - core unix frozen debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "T" MULTICORE: "4" # more could interfere with other jobs TEST_LANG: "es" # spanish only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_ui_multicore | ts -s" after_script: - mv core/src/.coverage.* core # there will be more coverage files (one per core) - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/junit.xml - tests/trezor.log - core/.coverage.* when: always expire_in: 1 week reports: junit: tests/junit.xml core device R test czech: stage: test <<: *gitlab_caching needs: - core unix frozen R debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "R" MULTICORE: "4" # more could interfere with other jobs TEST_LANG: "cs" # czech only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_ui_multicore | ts -s" after_script: - mv core/src/.coverage.* core # there will be more coverage files (one per core) - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/junit.xml - tests/trezor.log - core/.coverage.* when: always expire_in: 1 week reports: junit: tests/junit.xml core device R test french: stage: test <<: *gitlab_caching needs: - core unix frozen R debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "R" MULTICORE: "4" # more could interfere with other jobs TEST_LANG: "fr" # french only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_ui_multicore | ts -s" after_script: - mv core/src/.coverage.* core # there will be more coverage files (one per core) - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/junit.xml - tests/trezor.log - core/.coverage.* when: always expire_in: 1 week reports: junit: tests/junit.xml core device R test german: stage: test <<: *gitlab_caching needs: - core unix frozen R debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "R" MULTICORE: "4" # more could interfere with other jobs TEST_LANG: "de" # german only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_ui_multicore | ts -s" after_script: - mv core/src/.coverage.* core # there will be more coverage files (one per core) - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/junit.xml - tests/trezor.log - core/.coverage.* when: always expire_in: 1 week reports: junit: tests/junit.xml core device R test spanish: stage: test <<: *gitlab_caching needs: - core unix frozen R debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "R" MULTICORE: "4" # more could interfere with other jobs TEST_LANG: "es" # spanish only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_ui_multicore | ts -s" after_script: - mv core/src/.coverage.* core # there will be more coverage files (one per core) - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/junit.xml - tests/trezor.log - core/.coverage.* when: always expire_in: 1 week reports: junit: tests/junit.xml ## END_DEVICE_TESTS ## START_CLICK_TESTS core click test czech: stage: test <<: *gitlab_caching needs: - core unix frozen debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "T" TEST_LANG: "cs" # czech only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_click_ui | ts -s" after_script: - mv core/src/.coverage core/.coverage.test_click - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/trezor.log - tests/junit.xml - core/.coverage.* reports: junit: tests/junit.xml expire_in: 1 week when: always core click test french: stage: test <<: *gitlab_caching needs: - core unix frozen debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "T" TEST_LANG: "fr" # french only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_click_ui | ts -s" after_script: - mv core/src/.coverage core/.coverage.test_click - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/trezor.log - tests/junit.xml - core/.coverage.* reports: junit: tests/junit.xml expire_in: 1 week when: always core click test german: stage: test <<: *gitlab_caching needs: - core unix frozen debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "T" TEST_LANG: "de" # german only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_click_ui | ts -s" after_script: - mv core/src/.coverage core/.coverage.test_click - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/trezor.log - tests/junit.xml - core/.coverage.* reports: junit: tests/junit.xml expire_in: 1 week when: always core click test spanish: stage: test <<: *gitlab_caching needs: - core unix frozen debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "T" TEST_LANG: "es" # spanish only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_click_ui | ts -s" after_script: - mv core/src/.coverage core/.coverage.test_click - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/trezor.log - tests/junit.xml - core/.coverage.* reports: junit: tests/junit.xml expire_in: 1 week when: always core click R test czech: stage: test <<: *gitlab_caching needs: - core unix frozen R debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "R" TEST_LANG: "cs" # czech only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_click_ui | ts -s" after_script: - mv core/src/.coverage core/.coverage.test_click - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/trezor.log - tests/junit.xml - core/.coverage.* reports: junit: tests/junit.xml expire_in: 1 week when: always core click R test french: stage: test <<: *gitlab_caching needs: - core unix frozen R debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "R" TEST_LANG: "fr" # french only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_click_ui | ts -s" after_script: - mv core/src/.coverage core/.coverage.test_click - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/trezor.log - tests/junit.xml - core/.coverage.* reports: junit: tests/junit.xml expire_in: 1 week when: always core click R test german: stage: test <<: *gitlab_caching needs: - core unix frozen R debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "R" TEST_LANG: "de" # german only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_click_ui | ts -s" after_script: - mv core/src/.coverage core/.coverage.test_click - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/trezor.log - tests/junit.xml - core/.coverage.* reports: junit: tests/junit.xml expire_in: 1 week when: always core click R test spanish: stage: test <<: *gitlab_caching needs: - core unix frozen R debug build variables: TREZOR_PROFILING: "1" # so that we get coverage data TREZOR_MODEL: "R" TEST_LANG: "es" # spanish only: - schedules # nightly build - /translations/ # translations branches script: - $NIX_SHELL --run "poetry run make -C core test_emu_click_ui | ts -s" after_script: - mv core/src/.coverage core/.coverage.test_click - mv tests/ui_tests/reports/test/ test_ui_report - $NIX_SHELL --run "poetry run python ci/prepare_ui_artifacts.py | ts -s" - diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - ci/ui_test_records/ - test_ui_report - tests/ui_tests/screens/ - tests/ui_tests/fixtures.suggestion.json - tests/ui_tests/fixtures.results.json - tests/trezor.log - tests/junit.xml - core/.coverage.* reports: junit: tests/junit.xml expire_in: 1 week when: always ## END_CLICK_TESTS