2022-03-14 19:10:10 +00:00
|
|
|
# All builds are published as artifacts so they can be downloaded and used.
|
|
|
|
|
2020-06-07 19:49:06 +00:00
|
|
|
image: registry.gitlab.com/satoshilabs/trezor/trezor-firmware/trezor-firmware-env.nix
|
2019-08-19 12:24:32 +00:00
|
|
|
|
2021-11-24 12:24:10 +00:00
|
|
|
# Caching
|
|
|
|
.gitlab_caching: &gitlab_caching
|
|
|
|
cache:
|
|
|
|
key: "$CI_COMMIT_REF_SLUG"
|
|
|
|
paths:
|
|
|
|
- .venv/
|
|
|
|
|
2019-08-19 12:24:32 +00:00
|
|
|
variables:
|
|
|
|
SDL_VIDEODRIVER: "dummy"
|
|
|
|
XDG_RUNTIME_DIR: "/var/tmp"
|
|
|
|
|
|
|
|
# Core
|
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# Build of Core into firmware. Regular version.
|
|
|
|
# **Are you looking for Trezor T firmware build? This is most likely it.**
|
2019-09-04 08:53:40 +00:00
|
|
|
core fw regular build:
|
2019-08-19 12:24:32 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-19 12:24:32 +00:00
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $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"
|
2023-01-10 21:28:57 +00:00
|
|
|
- cp core/build/firmware/firmware.bin firmware-T2T1-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2023-07-27 08:49:59 +00:00
|
|
|
- cp core/build/firmware/firmware.elf firmware.elf
|
2019-08-19 12:24:32 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-07-27 08:49:59 +00:00
|
|
|
- firmware.elf
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T2T1-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2019-08-19 12:24:32 +00:00
|
|
|
expire_in: 1 week
|
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# 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.
|
2019-11-05 09:23:11 +00:00
|
|
|
core fw regular debug build:
|
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-11-05 09:23:11 +00:00
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "PYOPT=0 poetry run make -C core build_firmware"
|
2023-01-10 21:28:57 +00:00
|
|
|
- cp core/build/firmware/firmware.bin firmware-T2T1-debug-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2023-07-27 08:49:59 +00:00
|
|
|
- cp core/build/firmware/firmware.elf firmware.elf
|
2019-11-05 09:23:11 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-07-27 08:49:59 +00:00
|
|
|
- firmware.elf
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T2T1-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2019-11-05 09:23:11 +00:00
|
|
|
expire_in: 1 week
|
|
|
|
|
2022-01-25 10:59:39 +00:00
|
|
|
core fw regular production build:
|
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
|
|
|
only:
|
|
|
|
- schedules # nightly build
|
|
|
|
variables:
|
|
|
|
PRODUCTION: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $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"
|
2023-01-10 21:28:57 +00:00
|
|
|
- cp core/build/firmware/firmware.bin firmware-T2T1-production-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2022-01-25 10:59:39 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T2T1-production-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2022-01-25 10:59:39 +00:00
|
|
|
expire_in: 1 week
|
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# Build of Core into firmware. Bitcoin-only version.
|
2019-09-04 08:53:40 +00:00
|
|
|
core fw btconly build:
|
2019-08-22 18:18:44 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-22 18:18:44 +00:00
|
|
|
variables:
|
|
|
|
BITCOIN_ONLY: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_firmware"
|
2020-06-07 19:49:06 +00:00
|
|
|
- mv core/build/firmware/firmware.bin core/build/firmware/firmware-bitcoinonly.bin
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run ./tools/check-bitcoin-only core/build/firmware/firmware-bitcoinonly.bin"
|
2023-01-10 21:28:57 +00:00
|
|
|
- cp core/build/firmware/firmware-bitcoinonly.bin firmware-T2T1-btconly-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2019-08-22 18:18:44 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T2T1-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2020-08-03 13:33:45 +00:00
|
|
|
expire_in: 1 week
|
|
|
|
|
2020-08-26 14:24:20 +00:00
|
|
|
core fw btconly debug build:
|
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-26 14:24:20 +00:00
|
|
|
needs: []
|
|
|
|
variables:
|
|
|
|
BITCOIN_ONLY: "1"
|
|
|
|
PYOPT: "0"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_firmware"
|
2023-01-10 21:28:57 +00:00
|
|
|
- cp core/build/firmware/firmware.bin firmware-T2T1-btconly-debug-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2020-09-03 11:21:19 +00:00
|
|
|
only: # currently used only for HW tests and deploys
|
|
|
|
- schedules # nightly build
|
|
|
|
- /^legacy\//
|
|
|
|
- /^release\//
|
|
|
|
- /^secfix\//
|
|
|
|
- /^hw\//
|
2020-08-26 14:24:20 +00:00
|
|
|
- /^core\//
|
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T2T1-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2020-08-26 14:24:20 +00:00
|
|
|
expire_in: 1 week
|
|
|
|
|
2022-01-25 10:59:39 +00:00
|
|
|
core fw btconly production build:
|
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
|
|
|
only:
|
|
|
|
- schedules # nightly build
|
|
|
|
variables:
|
|
|
|
PRODUCTION: "1"
|
|
|
|
BITCOIN_ONLY: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_firmware"
|
|
|
|
- $NIX_SHELL --run "poetry run ./tools/check-bitcoin-only core/build/firmware/firmware.bin"
|
2023-01-10 21:28:57 +00:00
|
|
|
- cp core/build/firmware/firmware.bin firmware-T2T1-btconly-production-$CORE_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2022-01-25 10:59:39 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T2T1-btconly-production-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2022-01-25 10:59:39 +00:00
|
|
|
expire_in: 1 week
|
|
|
|
|
2023-02-09 22:56:03 +00:00
|
|
|
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
|
|
|
|
|
2023-05-12 09:19:35 +00:00
|
|
|
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
|
2023-07-27 08:49:59 +00:00
|
|
|
- cp core/build/firmware/firmware.elf firmware.elf
|
2023-05-12 09:19:35 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-07-27 08:49:59 +00:00
|
|
|
- firmware.elf
|
2023-05-12 09:19:35 +00:00
|
|
|
- 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
|
2023-07-27 08:49:59 +00:00
|
|
|
- cp core/build/firmware/firmware.elf firmware.elf
|
2023-05-12 09:19:35 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-07-27 08:49:59 +00:00
|
|
|
- firmware.elf
|
2023-05-12 09:19:35 +00:00
|
|
|
- trezor-fw-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
|
|
|
expire_in: 1 week
|
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# Non-frozen emulator build. This means you still need Python files
|
|
|
|
# present which get interpreted.
|
2019-09-04 08:53:40 +00:00
|
|
|
core unix regular build:
|
2019-08-19 12:24:32 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2024-04-02 14:51:01 +00:00
|
|
|
variables:
|
|
|
|
THP: "1"
|
2019-08-19 12:24:32 +00:00
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix"
|
2020-01-17 14:46:59 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2021-09-20 14:03:26 +00:00
|
|
|
- core/build/unix # most of it needed by test_rust
|
2023-06-28 10:48:46 +00:00
|
|
|
expire_in: 1 week
|
|
|
|
|
|
|
|
# Non-frozen emulator build for model R.
|
|
|
|
core unix regular R build:
|
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
|
|
|
variables:
|
|
|
|
TREZOR_MODEL: "R"
|
|
|
|
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
|
2020-01-17 14:46:59 +00:00
|
|
|
expire_in: 1 week
|
2019-08-19 12:24:32 +00:00
|
|
|
|
2022-01-10 16:20:42 +00:00
|
|
|
core unix regular asan build:
|
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
|
|
|
only:
|
|
|
|
- schedules # nightly build
|
|
|
|
variables:
|
|
|
|
ADDRESS_SANITIZER: "1"
|
|
|
|
script:
|
2023-08-31 20:51:35 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_bootloader_emu"
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix"
|
2022-01-10 16:20:42 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-08-31 20:51:35 +00:00
|
|
|
- core/build/bootloader_emu/bootloader.elf
|
2022-01-10 16:20:42 +00:00
|
|
|
- core/build/unix # most of it needed by test_rust
|
|
|
|
expire_in: 1 week
|
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# 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.
|
2019-09-04 08:53:40 +00:00
|
|
|
core unix frozen regular build:
|
2019-08-19 12:24:32 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-19 12:24:32 +00:00
|
|
|
script:
|
2023-08-31 20:51:35 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_bootloader_emu"
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix_frozen"
|
2019-08-19 12:24:32 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
2019-08-22 13:56:47 +00:00
|
|
|
paths:
|
2023-08-31 20:51:35 +00:00
|
|
|
- core/build/bootloader_emu/bootloader.elf
|
2020-11-09 17:52:34 +00:00
|
|
|
- core/build/unix/trezor-emu-core
|
2019-08-26 12:50:28 +00:00
|
|
|
expire_in: 1 week
|
2019-08-19 12:24:32 +00:00
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# 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.
|
2020-01-17 14:46:59 +00:00
|
|
|
core unix frozen btconly debug build:
|
2019-08-22 18:18:44 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-22 18:18:44 +00:00
|
|
|
variables:
|
2020-01-17 14:46:59 +00:00
|
|
|
PYOPT: "0"
|
2019-08-22 18:18:44 +00:00
|
|
|
BITCOIN_ONLY: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix_frozen"
|
2020-07-27 14:59:51 +00:00
|
|
|
- mv core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-bitcoinonly
|
2019-08-22 18:18:44 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2020-11-09 17:52:34 +00:00
|
|
|
- core/build/unix/trezor-emu-core-bitcoinonly
|
2019-08-26 12:50:28 +00:00
|
|
|
expire_in: 1 week
|
2019-08-22 18:18:44 +00:00
|
|
|
|
2022-01-07 12:07:45 +00:00
|
|
|
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:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix_frozen"
|
2022-01-07 12:07:45 +00:00
|
|
|
- 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
|
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# 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.**
|
2019-09-04 08:53:40 +00:00
|
|
|
core unix frozen debug build:
|
2019-08-16 13:29:21 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-16 13:29:21 +00:00
|
|
|
variables:
|
|
|
|
PYOPT: "0"
|
2024-11-15 16:31:22 +00:00
|
|
|
THP: "1"
|
2019-08-16 13:29:21 +00:00
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix_frozen"
|
2022-01-07 12:07:45 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
untracked: true
|
|
|
|
expire_in: 1 week
|
|
|
|
|
2023-05-12 09:19:35 +00:00
|
|
|
core unix frozen R debug build:
|
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
|
|
|
variables:
|
|
|
|
PYOPT: "0"
|
|
|
|
TREZOR_MODEL: "R"
|
|
|
|
script:
|
2023-08-31 20:51:35 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_bootloader_emu"
|
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix_frozen"
|
2023-05-12 09:19:35 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
untracked: true
|
|
|
|
expire_in: 10 weeks
|
|
|
|
|
2024-03-27 13:32:03 +00:00
|
|
|
core unix frozen T3T1 debug build:
|
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
|
|
|
variables:
|
|
|
|
PYOPT: "0"
|
|
|
|
TREZOR_MODEL: "T3T1"
|
|
|
|
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
|
|
|
|
|
2023-05-12 09:19:35 +00:00
|
|
|
core unix frozen R debug build arm:
|
|
|
|
image: nixos/nix
|
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
2024-04-02 08:15:57 +00:00
|
|
|
only:
|
|
|
|
- main
|
|
|
|
- tags
|
|
|
|
- /^release\//
|
|
|
|
- /^secfix\//
|
2023-05-12 09:19:35 +00:00
|
|
|
variables:
|
|
|
|
PYOPT: "0"
|
|
|
|
TREZOR_MODEL: "R"
|
|
|
|
script:
|
2023-08-31 20:51:35 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix_frozen"
|
2023-05-12 09:19:35 +00:00
|
|
|
- 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
|
|
|
|
|
2024-04-02 08:12:04 +00:00
|
|
|
core unix frozen T3T1 debug build arm:
|
|
|
|
image: nixos/nix
|
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
2024-04-02 08:15:57 +00:00
|
|
|
only:
|
|
|
|
- main
|
|
|
|
- tags
|
|
|
|
- /^release\//
|
|
|
|
- /^secfix\//
|
2024-04-02 08:12:04 +00:00
|
|
|
variables:
|
|
|
|
PYOPT: "0"
|
|
|
|
TREZOR_MODEL: "T3T1"
|
|
|
|
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
|
|
|
|
|
2022-01-07 12:07:45 +00:00
|
|
|
core unix frozen debug asan build:
|
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
|
|
|
only:
|
|
|
|
- schedules # nightly build
|
|
|
|
variables:
|
|
|
|
PYOPT: "0"
|
|
|
|
ADDRESS_SANITIZER: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix_frozen"
|
2019-08-16 13:29:21 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
untracked: true
|
2019-08-26 12:50:28 +00:00
|
|
|
expire_in: 1 week
|
2019-08-16 13:29:21 +00:00
|
|
|
|
2021-12-13 14:22:47 +00:00
|
|
|
core unix frozen debug build arm:
|
2022-05-20 13:43:01 +00:00
|
|
|
image: nixos/nix
|
2021-12-13 14:22:47 +00:00
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
|
|
|
only:
|
2023-10-13 13:37:09 +00:00
|
|
|
- main
|
2022-05-20 13:43:01 +00:00
|
|
|
- tags
|
2021-12-13 14:22:47 +00:00
|
|
|
- /^release\//
|
|
|
|
- /^secfix\//
|
|
|
|
variables:
|
|
|
|
PYOPT: "0"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C core build_unix_frozen"
|
2021-12-13 14:22:47 +00:00
|
|
|
- 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
|
|
|
|
|
2020-08-23 18:06:50 +00:00
|
|
|
core macos frozen regular build:
|
2019-09-03 18:57:35 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2020-10-12 15:11:37 +00:00
|
|
|
when: manual
|
2019-09-03 18:57:35 +00:00
|
|
|
tags:
|
2021-12-13 14:22:47 +00:00
|
|
|
- darwin_arm
|
2019-09-03 18:57:35 +00:00
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --option system x86_64-darwin --run "poetry run make -C core build_unix_frozen"
|
2020-08-23 18:06:50 +00:00
|
|
|
- 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
|
2020-09-25 14:21:23 +00:00
|
|
|
allow_failure: true
|
2019-09-03 18:57:35 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2020-08-23 18:06:50 +00:00
|
|
|
- trezor-emu-core.darwin
|
|
|
|
- trezor-emulator.command
|
2019-09-03 18:57:35 +00:00
|
|
|
expire_in: 1 week
|
2019-08-19 12:24:32 +00:00
|
|
|
|
|
|
|
# Crypto
|
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# Build of our cryptographic library, which is then incorporated into the other builds.
|
2019-09-04 08:53:40 +00:00
|
|
|
crypto build:
|
2019-08-19 12:24:32 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2022-01-05 16:11:19 +00:00
|
|
|
variables:
|
|
|
|
ADDRESS_SANITIZER: "1"
|
2023-05-16 15:36:11 +00:00
|
|
|
CC: gcc
|
2019-09-05 15:44:55 +00:00
|
|
|
only:
|
|
|
|
changes:
|
2020-09-25 13:50:53 +00:00
|
|
|
- .gitlab-ci.yml
|
2022-04-05 14:22:30 +00:00
|
|
|
- ci/**
|
|
|
|
- crypto/**
|
2019-08-19 12:24:32 +00:00
|
|
|
script:
|
2022-01-12 15:35:34 +00:00
|
|
|
- cp -r crypto crypto_noasan
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run make -C crypto"
|
|
|
|
- $NIX_SHELL --run "export ADDRESS_SANITIZER=0; poetry run make -C crypto_noasan"
|
2022-01-12 15:35:34 +00:00
|
|
|
- mv crypto_noasan/tests/test_check crypto/tests/test_check_noasan
|
2019-08-19 12:24:32 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
2019-08-22 13:56:47 +00:00
|
|
|
paths:
|
2020-11-09 17:52:34 +00:00
|
|
|
- crypto/tests/aestst
|
|
|
|
- crypto/tests/libtrezor-crypto.so
|
|
|
|
- crypto/tests/test_check
|
2022-01-12 15:35:34 +00:00
|
|
|
- crypto/tests/test_check_noasan
|
2020-11-09 17:52:34 +00:00
|
|
|
- crypto/tests/test_openssl
|
2019-08-26 12:50:28 +00:00
|
|
|
expire_in: 1 week
|
2019-08-19 12:24:32 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Legacy
|
|
|
|
|
2019-09-04 08:53:40 +00:00
|
|
|
legacy fw regular build:
|
2019-08-19 12:24:32 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-19 12:24:32 +00:00
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $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"
|
2023-01-10 21:28:57 +00:00
|
|
|
- mv legacy/firmware/trezor.bin firmware-T1B1-$LEGACY_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2019-08-26 12:50:28 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T1B1-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2019-08-26 12:50:28 +00:00
|
|
|
expire_in: 1 week
|
2019-08-19 12:24:32 +00:00
|
|
|
|
2020-07-15 09:43:10 +00:00
|
|
|
legacy fw regular debug build:
|
2019-08-19 12:24:32 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-19 12:24:32 +00:00
|
|
|
variables:
|
|
|
|
DEBUG_LINK: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $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"
|
2023-01-10 21:28:57 +00:00
|
|
|
- mv legacy/firmware/trezor.bin firmware-T1B1-debug-$LEGACY_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2019-10-31 12:39:26 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T1B1-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2019-10-31 12:39:26 +00:00
|
|
|
expire_in: 1 week
|
2019-08-19 12:24:32 +00:00
|
|
|
|
2019-09-04 08:53:40 +00:00
|
|
|
legacy fw btconly build:
|
2019-08-19 12:24:32 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-19 12:24:32 +00:00
|
|
|
variables:
|
|
|
|
BITCOIN_ONLY: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $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"
|
2020-06-07 19:49:06 +00:00
|
|
|
- mv legacy/firmware/trezor.bin legacy/firmware/trezor-bitcoinonly.bin
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run ./tools/check-bitcoin-only legacy/firmware/trezor-bitcoinonly.bin"
|
2023-01-10 21:28:57 +00:00
|
|
|
- mv legacy/firmware/trezor-bitcoinonly.bin firmware-T1B1-btconly-$LEGACY_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2019-08-26 12:50:28 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T1B1-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2019-08-26 12:50:28 +00:00
|
|
|
expire_in: 1 week
|
2019-08-19 12:24:32 +00:00
|
|
|
|
2020-07-15 09:43:10 +00:00
|
|
|
legacy fw btconly debug build:
|
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2020-07-15 09:43:10 +00:00
|
|
|
variables:
|
|
|
|
BITCOIN_ONLY: "1"
|
|
|
|
DEBUG_LINK: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $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"
|
2023-01-10 21:28:57 +00:00
|
|
|
- mv legacy/firmware/trezor.bin firmware-T1B1-btconly-debug-$LEGACY_VERSION-$CI_COMMIT_SHORT_SHA.bin
|
2020-07-15 09:43:10 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2023-01-10 21:28:57 +00:00
|
|
|
- firmware-T1B1-btconly-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin
|
2020-07-15 09:43:10 +00:00
|
|
|
expire_in: 1 week
|
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# Regular version (not only Bitcoin) of above.
|
|
|
|
# **Are you looking for a Trezor One emulator? This is most likely it.**
|
2020-08-27 18:54:54 +00:00
|
|
|
legacy emu regular debug build:
|
2019-08-19 12:24:32 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-19 12:24:32 +00:00
|
|
|
variables:
|
|
|
|
DEBUG_LINK: "1"
|
|
|
|
EMULATOR: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run legacy/script/cibuild"
|
2019-08-19 12:24:32 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
2019-08-22 13:56:47 +00:00
|
|
|
paths:
|
2020-11-09 17:52:34 +00:00
|
|
|
- legacy/firmware/trezor.elf
|
2019-08-26 12:50:28 +00:00
|
|
|
expire_in: 1 week
|
2019-08-19 12:24:32 +00:00
|
|
|
|
2022-01-07 20:51:05 +00:00
|
|
|
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:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run legacy/script/cibuild"
|
2022-01-07 20:51:05 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
|
|
|
- legacy/firmware/trezor.elf
|
|
|
|
expire_in: 1 week
|
|
|
|
|
2021-12-13 14:22:47 +00:00
|
|
|
legacy emu regular debug build arm:
|
2022-05-20 13:43:01 +00:00
|
|
|
image: nixos/nix
|
2021-12-13 14:22:47 +00:00
|
|
|
stage: build
|
|
|
|
<<: *gitlab_caching
|
|
|
|
needs: []
|
|
|
|
only:
|
2023-10-13 13:37:09 +00:00
|
|
|
- main
|
2022-05-20 13:43:01 +00:00
|
|
|
- tags
|
2021-12-13 14:22:47 +00:00
|
|
|
- /^release\//
|
|
|
|
- /^secfix\//
|
|
|
|
variables:
|
|
|
|
DEBUG_LINK: "1"
|
|
|
|
EMULATOR: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run legacy/script/cibuild"
|
2021-12-13 14:22:47 +00:00
|
|
|
- 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
|
|
|
|
|
2022-03-14 19:10:10 +00:00
|
|
|
# Build of Legacy into UNIX emulator. Use keyboard arrows to emulate button presses.
|
|
|
|
# Bitcoin-only version.
|
2020-08-27 18:54:54 +00:00
|
|
|
legacy emu btconly debug build:
|
2019-08-21 08:22:41 +00:00
|
|
|
stage: build
|
2021-11-24 12:24:10 +00:00
|
|
|
<<: *gitlab_caching
|
2020-08-17 18:37:08 +00:00
|
|
|
needs: []
|
2019-08-21 08:22:41 +00:00
|
|
|
variables:
|
|
|
|
BITCOIN_ONLY: "1"
|
|
|
|
DEBUG_LINK: "1"
|
|
|
|
EMULATOR: "1"
|
|
|
|
script:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run legacy/script/cibuild"
|
2020-06-07 19:49:06 +00:00
|
|
|
- mv legacy/firmware/trezor.elf legacy/firmware/trezor-bitcoinonly.elf
|
2019-08-22 18:18:44 +00:00
|
|
|
artifacts:
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
|
|
|
paths:
|
2020-11-09 17:52:34 +00:00
|
|
|
- legacy/firmware/trezor-bitcoinonly.elf
|
2019-08-26 12:50:28 +00:00
|
|
|
expire_in: 1 week
|
2022-01-07 20:51:05 +00:00
|
|
|
|
|
|
|
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:
|
2023-02-14 18:17:05 +00:00
|
|
|
- $NIX_SHELL --run "poetry run legacy/script/cibuild"
|
2022-01-07 20:51:05 +00:00
|
|
|
- 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
|