Martin Milata
e43ff4ba8e
ci(nix): prefer gcc over clang for symlinks with same name
2021-12-06 16:25:59 +01:00
Pavol Rusnak
4419572437
ci(nix): use gcc-arm-embedded on aarch64-darwin too
...
it is now enabled in nixpkgs (via rosetta)
2021-12-06 00:21:42 +01:00
Pavol Rusnak
8428456df6
ci(nix): use explicit versions for clang and gcc ( #1969 )
2021-12-03 12:49:08 +01:00
vdovhanych
3419961797
ci: introduce gitlab cache for vnev
2021-11-26 16:30:05 +01:00
Martin Milata
52f719ad81
ci: add core unit test t1
...
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
909b7b355d
ci: also build legacy firmware with MEMORY_PROTECT=1 ( #1935 )
2021-11-24 11:14:44 +01:00
Martin Milata
ebfaff7904
ci(nix): keep python3.6 from old nixpkgs
2021-11-19 16:26:31 +01:00
Martin Milata
0e505ec78b
ci(nix): update to latest nixpkgs-unstable
2021-11-19 10:54:31 +01:00
grdddj
6eac12e80e
feat(shell.nix): adding pyright as a dependency
2021-11-19 10:54:31 +01:00
Pavol Rusnak
a3b83685ef
fix(core): fix emulator build on Apple Silicon
...
[no changelog]
2021-11-08 11:00:04 +01:00
amadejpapez
85ba7c12ba
style(all): use f-strings for formatting
...
[no changelog]
2021-10-13 11:53:17 +02:00
Martin Milata
2687fd4ade
ci: hw: don't skip memory-intensive tests
2021-10-07 18:30:43 +02:00
Martin Milata
31d6cfb52d
chore(ci): update alpine-linux to 3.14.2 and nix to 2.3.15
2021-09-29 16:15:42 +02:00
matejcik
b6ee69c905
ci: ignore auto-generated files in changelog check ( fixes #1785 )
2021-09-24 10:30:19 +02:00
Martin Milata
81e66cb024
style(core/rust): enable clippy lints
...
[no changelog]
2021-09-23 14:22:40 +02:00
matejcik
8d7f3fbd15
ci: include whole build/unix/ subdir for rust_test to consume
2021-09-21 12:43:31 +02:00
Martin Milata
a7a7570496
ci(core): enable rust unit tests
...
[no changelog]
2021-09-16 14:57:06 +02:00
Martin Milata
c80c8edf70
ci(core): add rustfmt to style checks
...
[no changelog]
2021-09-16 14:57:06 +02:00
Martin Milata
7832b2f140
chore(nix): update rust to 1.55
2021-09-16 13:42:15 +02:00
grdddj
1b932a20e8
fix(tests): decoding PNG files to fix Linux/Mac differences in encoding
2021-09-14 14:21:38 +02:00
Pavol Rusnak
08609cf9a1
chore(nix): update rust to 1.54
2021-09-08 13:27:52 +02:00
Martin Milata
412d06fdfe
docs(core+legacy): use towncrier for generating CHANGELOG.md
...
core/embed/boardloader/CHANGELOG.md
core/embed/bootloader/CHANGELOG.md
core/embed/bootloader_ci/CHANGELOG.md
legacy/intermediate_fw/CHANGELOG.md
2021-07-21 14:27:20 +02:00
vdovhanych
63a42def17
feat(ci): add sha checksum for alpine download and change to https
2021-07-20 16:57:12 +02:00
Pavol Rusnak
acb01916db
ci(nix): update nixpkgs, use latest stable rust (1.53.0)
2021-07-14 17:34:12 +02:00
Martin Milata
f67544d27a
ci: run more tests on hardware
...
- bitcoin tests on regular builds in addition to altcoins
- tests that need SD card
2021-07-12 19:54:51 +02:00
Pavol Rusnak
8ed7bdbc27
chore(ci): update alpine-linux to 3.14.0 and nix to 2.3.14
2021-07-09 11:39:24 +02:00
vdovhanych
6b3e743373
ci: add duration timestamps on all test jobs
2021-06-09 10:00:24 +02:00
Martin Milata
f9d4be268e
ci: increase timeout for hardware T1 regular test
2021-06-04 13:10:51 +02:00
Martin Milata
07c53452f6
ci: improve changelog check
...
- ignore master branch
- treat secfix/ same as release/ branches
- allow skiping check with [no changelog] in commit message
2021-06-04 13:10:51 +02:00
Martin Milata
f771dc6f60
ci(nix): switch to stable rust in shell.nix
...
Switch to https://github.com/oxalica/rust-overlay for rustc binaries.
Drop x86_64-unknown-linux-gnu from target list as host is included by
default.
2021-05-21 13:42:10 +02:00
Pavol Rusnak
709d9e0dcd
fix(ci): update to latest nixpkgs-unstable
2021-05-07 17:11:58 +02:00
matejcik
1e0a23c133
fix(core/paths): make sure containers are copied along with the numbers they contain
2021-05-06 13:14:21 +02:00
matejcik
791ac56f2f
ci: increase hardware test timeouts
2021-05-06 13:14:21 +02:00
matejcik
28978640b3
ci: simplify HW test definitions
2021-05-06 13:14:21 +02:00
matejcik
bb96cdc4e6
ci: include monero logs in artifacts
2021-05-06 13:14:21 +02:00
Jan Pochyla
6257584951
feat(core): Add Rust bindings to MicroPython and trezorhal
...
core: Remove dangling module decls
core: Use new Cargo feature resolver, use external MacOS debug info
core: Rust docs improvements
core: Upgrade bindgen
core: Add test target to Rust
ci: build rust sources
build(core): .ARM.exidx.text.__aeabi_ui2f in t1 firmware size
It's an unwind table for softfloat function inserted by rustc, probably
can be removed to save 8 bytes:
599c58db70/link.x.in (L175-L182)
scons: Remove dead code
core: Move Rust target to build/rust
core: Replace extern with a FFI version
core: Add some explanatory Rust comments
core: Use correct path for the Rust lib
core: Remove Buffer::as_mut()
Mutable buffer access needs MP_BUFFER_WRITE flag. TBD in the Protobuf PR.
core: Improve docs for micropython::Buffer
core: Minor Rust docs changes
core: Rewrite trezor_obj_get_ll_checked
core: Fix incorrect doc comment
core: Remove cc from deps
fixup! core: Rewrite trezor_obj_get_ll_checked
core: update safety comments
2021-05-05 16:00:21 +02:00
Martin Milata
f58c1634c6
docs(core): use towncrier for generating CHANGELOG.md
2021-05-04 14:18:01 +02:00
Martin Milata
88cdb72aec
ci: bump nixpkgs version to latest
2021-04-06 22:06:12 +02:00
Martin Milata
8e00904a3f
ci: unified shell.nix for hardware tests
2021-04-06 22:06:12 +02:00
Martin Milata
720eaa3abd
ci: run monero tests on hardware
2021-04-06 22:06:12 +02:00
Martin Milata
17324a01a3
ci: more reboots and skipped cases for hardware tests
2021-02-20 21:55:36 +01:00
Martin Milata
99a858a774
ci: hw: skip sd_card tests on TT
2021-02-20 21:55:36 +01:00
Martin Milata
3213557f72
ci: check model before flashing
2021-02-20 21:55:36 +01:00
Martin Milata
17494b2276
ci: reboot more often during hardware regular test
2021-02-20 21:55:36 +01:00
Tomas Susanka
8955d04b5e
ci: add fixup check to Github Actions
2021-02-19 19:54:41 +01:00
Martin Milata
11ac8ef19d
ci: also build bootloader_ci
2021-02-15 20:55:54 +01:00
Tomas Susanka
6214156c35
fix(ci): strip commit version for emulator releases
...
trezor-user-env can't work with that
2021-02-11 08:25:25 +01:00
Pavol Rusnak
32c37aa9cd
fix(ci): copy nixpkgs.nix to container
2021-02-09 16:47:11 +01:00
Martin Milata
c000a803e4
ci: deterministic order for hw tt btconly testcases
...
It seems some test permutations result in FirmwareError likely caused by
OOM.
2021-02-08 08:46:50 +01:00
Martin Milata
2ecd4eeac2
ci: wait longer for T1 bootup
2021-02-06 16:02:42 +01:00
Martin Milata
6050412ed4
docs: hardware CI test jobs
2021-02-06 11:56:23 +01:00
Martin Milata
73c600d3f5
ci: also run regular tt tests on hw
...
Break off hardware test tasks into separate file.
2021-02-05 12:58:21 +01:00
Martin Milata
55474bdadd
ci: use custom uhubctl package
...
Simply bumping the nixpkgs unstable version causes python test to fail:
https://gitlab.com/satoshilabs/trezor/trezor-firmware/-/jobs/1008507521
Until that's resolved we can stay on the current nixpkgs version and use
our own copy of the uhubctl nix expression.
2021-02-05 12:58:21 +01:00
Martin Milata
4d5e6e360f
ci: change usb location/ports
2021-02-05 12:58:21 +01:00
Martin Milata
c7b021e59e
ci: hardware: wipe tt before flashing
2021-02-05 12:58:21 +01:00
Martin Milata
ceccf1951a
ci: all hw configuration in one place
2021-02-05 12:58:21 +01:00
Martin Milata
4adbb4e8e1
ci: use same pinned nixpkgs for hardware tests
2021-02-05 12:58:21 +01:00
Martin Milata
41bf9201b5
ci: do not rely on TREZOR_PATH, use switch ports instead
...
As the connected Trezors can be left in various weird states, trezorctl
list may not always return what is expected or even fail. If it failed
TREZOR_PATH was set to empty string which means random device got
selected.
For now let's avoid using incorrect device by powering down the other
usb port.
Fix log lines ordering.
2021-02-05 12:58:21 +01:00
Martin Milata
ed481b5dde
ci: hw tests: tweak wait times
2021-02-05 12:58:21 +01:00
Martin Milata
0a75e02392
ci: skip some tests that cause alloc failure
...
Also increase PYTEST_TIMEOUT so that test_lots_of_inputs has enough time
to pass.
2021-02-05 12:58:21 +01:00
Martin Milata
dedca1bb13
ci: ffmpeg tweaks in hardware tests
...
Running ffmpeg in a subshell and killing it in exit trap handler should
ensure video availability even when bootstrap or pytest fail.
2021-02-05 12:58:21 +01:00
Tomas Susanka
708a85a916
ci: run btconly firmware on TT in HW tests
2021-02-05 12:58:21 +01:00
Tomas Susanka
61531fbd4a
ci: introduce hardware tests for TT
2021-02-05 12:58:21 +01:00
Pavol Rusnak
250f09245b
ci: drop experimental --platform argument from docker
2021-01-22 16:55:27 +01:00
Pavol Rusnak
1f5d8b89d7
nix: stdenv.lib -> lib
...
[skip_ci]
2021-01-19 17:01:47 +01:00
Tomas Susanka
677465eecd
ci: update Monero test binary to latest 0.17.1.9
2021-01-13 18:12:13 +01:00
Pavol Rusnak
453df567d3
ci: various fixes and updates
...
- fix Nix build on macOS Big Sur (by updating to nixpkgs-unstable)
- update gcc-arm-embedded from 9.x to 10.x
- update nix to 2.3.10
- update Alpine Linux to 3.12.3
- allow to change arch in Docker
2021-01-04 14:40:16 +01:00
Pavol Rusnak
b9c0b597bc
nix: bump stable nixos-20.09 to latest
2020-12-17 14:32:20 +01:00
Martin Milata
a0fccca041
ci(core): increase PYTEST_TIMEOUT for memory profiling
...
test_lots_of_inputs times out, still less than 1200 needed on actual
hardware
2020-12-08 18:07:50 +01:00
matejcik
faa57e29db
build(core): include generated resources.py in repo
2020-11-20 18:55:35 +01:00
Pavol Rusnak
50fdd183c2
ci: enable editorconfig checks, fix whitespace issues
2020-11-11 14:43:50 +01:00
Pavol Rusnak
473fb1a3a6
ci: enable yaml checks
2020-11-11 14:23:28 +01:00
Tomas Susanka
09a8d4229e
feat(ci): introduce yamllint
2020-11-10 10:27:47 +01:00
Tomas Susanka
1f90a13372
ci: change [NO MASTER] to [RELEASE ONLY] in release check
...
To make it the same as in Suite.
2020-11-05 19:11:10 +01:00
Tomas Susanka
859aa23752
ci: remove 'changes' from prebuild
2020-11-05 18:55:10 +01:00
Tomas Susanka
cc3d86f0dd
ci: skip submodules download where applicable
2020-11-05 18:54:56 +01:00
Martin Milata
c89a8b7bd5
ci(core): add memory profiler job
2020-11-02 14:14:00 +01:00
Tomas Susanka
fd90bb9d10
ci: remove darwin emulator deploy
...
We'll use trezor user env for that.
2020-10-30 11:28:46 +01:00
Tomas Susanka
dfd93b6759
ci: distinguish between t1 and tt on firmware corp server
2020-10-30 11:28:01 +01:00
Martin Milata
9ed25a718a
ci: handle full dependencies in shell.nix
...
Handling of full dependencies (multiple python versions, Monero tests)
was moved from Dockerfile to shell.nix.
The Python packages are installed from the pinned nixpkgs revision and
do not depend on channel state at the time of docker build anymore.
The Monero test binary is now downloaded using fetchurl which fails the
build if checksum doesn't match.
2020-10-15 15:59:20 +02:00
Tomas Susanka
6cb601509b
ci: skip macos build for now
2020-10-12 17:11:52 +02:00
Tomas Susanka
2101ff8904
ci: also remove docker pull from environment, it is not needed
2020-10-12 09:08:05 +02:00
Pavol Rusnak
2fcc34c301
ci: another try with the environment
2020-10-11 22:15:45 +02:00
Pavol Rusnak
940400998a
ci(dockerfile): fix other python versions
2020-10-11 15:30:50 +02:00
Pavol Rusnak
6cc1d70f2e
ci(dockerfile): fix python versions
2020-10-08 15:24:12 +02:00
Tomas Susanka
3a8e46467a
ci: fix firmware versions in deploy jobs
...
We do not run before_script because we run `nix-shell` and `poetry install`
there. The deploy takes about ~5s without nix-shell and peotry and ~5m with
both so it is worth it.
2020-10-07 22:13:57 +02:00
Pavol Rusnak
2e4d67165f
ci(nix): update nixpkgs to latest nixos-20.09 stable
2020-10-07 16:30:50 +02:00
Pavol Rusnak
4fdb62c2e2
chore(python): replace pipenv with poetry
2020-10-07 16:21:00 +02:00
Pavol Rusnak
98ea241e97
ci: use alternative list syntax for needs
2020-10-06 21:59:22 +02:00
Tomas Susanka
99e0faafb6
test(core): print fixtures suggestion after the test
2020-10-06 21:17:28 +02:00
Tomas Susanka
225966ea7c
ci: fix date epoch in shell.nix not in Gitlab yml file
...
This way we fix also local environments for devs with NixOS.
Updates 988c7f65af
.
2020-09-30 09:29:43 +02:00
matejcik
1f5c08c9a2
ci: add .gitlab-ci.yml as explicit trigger whenever ci/** is a trigger
2020-09-29 11:30:40 +02:00
matejcik
e4785d47e0
style: apply black 20.8b1
2020-09-29 11:30:40 +02:00
Tomas Susanka
5edd0a55f3
ci: document arduino pins
2020-09-01 13:51:32 +02:00
Tomas Susanka
c7b6d98cfc
tests/upgrade-tests: modify paths in release jobs and add job for MacOS
2020-08-27 21:04:22 +02:00
Tomas Susanka
c52c93aea0
ci: add core btconly debug build and deploy it during release
2020-08-26 16:24:43 +02:00
Tomas Susanka
00593dc6d6
ci: fix builds for MacOS
...
Drop .app bundling and use a simpler approach. A simple .command bash
script is present that launches the binary.
2020-08-26 13:58:31 +02:00
Tomas Susanka
db020c7a47
ci: run HW tests for secfix branches
2020-08-24 13:30:57 +02:00
Tomas Susanka
141d9099f5
ci: remove release candidates deploy
...
It is not being used at the moment anyway.
2020-08-24 13:28:41 +02:00
Martin Milata
71c5bc4e3b
ci: fail if coverage falls under threshold
2020-08-18 21:08:46 +02:00
Tomas Susanka
13c11e756e
ci: replace 'dependends' with 'needs'
...
https://docs.gitlab.com/ee/ci/yaml/#needs
2020-08-18 16:55:31 +02:00
Pavol Rusnak
c3892b75bd
ci: test python on Pipfile.lock/poetry.lock
2020-08-08 19:19:15 +02:00
Pavol Rusnak
e0ee8266ec
poetry: add pyproject.toml + lock file
2020-08-08 18:25:29 +02:00
Tomas Susanka
01ac2ec48d
ci: run release commit message check only on one Gitlab
2020-08-06 00:04:25 +02:00
Tomas Susanka
fa39948683
ci: fix release commit check
2020-08-05 22:53:09 +02:00
Pavol Rusnak
ac9047a438
ci/build: fix typo in "core fw btconly t1 build"
2020-08-04 17:36:39 +02:00
Tomas Susanka
fb583cf0fa
ci: fix release commit message check
2020-08-04 13:46:28 +02:00
Pavol Rusnak
efc5ccdaf0
core: remove src1
2020-08-03 15:59:57 +02:00
Pavol Rusnak
063aba910d
core: rename emulator to trezor-emu-core
2020-07-30 15:27:34 +02:00
Pavol Rusnak
f71958b63f
ci: build T1 firmware
2020-07-28 12:18:44 +02:00
Tomas Susanka
698b632acb
ci: add btconly debug build and run hardware tests for it
2020-07-15 18:07:21 +02:00
Pavol Rusnak
8d94b13d3a
ci/test: fix coverage by moving the files to correct subdir
2020-07-06 19:52:18 +02:00
Tomas Susanka
e6889245e8
ci: set core/legacy version in .gitlab.yml
2020-07-06 19:07:00 +02:00
Tomas Susanka
040b4a1ee7
ci: fix VERSION export from version.h
2020-07-05 21:47:36 +02:00
Pavol Rusnak
82c0c40367
ci: make nix-shell available on darwin in before_script
2020-07-03 21:52:47 +02:00
Pavol Rusnak
25a2e690fe
ci/test: set C.UTF-8 locale for Python tests
2020-07-03 18:02:46 +02:00
Tomas Susanka
2b4de8e270
ci: use nix docker image
2020-07-03 17:33:59 +02:00
Pavol Rusnak
8f6a6c098e
ci/Dockerfile: use nix-shell instead of nix-env
2020-07-03 17:33:59 +02:00
Pavol Rusnak
09a212dca0
nix: use the latest snapshot of nixos-unstable
2020-07-03 17:33:10 +02:00
Pavol Rusnak
6d1e97884c
nix: add procps and wget
2020-07-03 14:48:55 +02:00
Pavol Rusnak
937336e6b6
nix: add bash, use openssl instead of libressl
2020-07-03 12:44:13 +02:00
Pavol Rusnak
6c09c61978
nix: unify ci/shell.nix and shell.nix
2020-07-03 12:32:55 +02:00
Tomas Susanka
0c734dc8fd
ci: remove shell hook
...
Fixes darwin job.
2020-07-03 09:46:44 +02:00
Tomas Susanka
6ebb388905
ci: add debug firmwares to releases
2020-06-19 19:34:31 +00:00
Tomas Susanka
39f5b065d3
tests/hardware: add sleep to update_firmware and always publish artifacts
2020-06-12 06:04:47 +00:00
Pavol Rusnak
74450ee4bb
docker: rename container name to trezor-firmware-build.nix
2020-06-07 17:08:25 +02:00
Pavol Rusnak
2930251eeb
docker: don't use nixos/nix as base, use alpine from scratch
2020-06-07 17:08:25 +02:00
Pavol Rusnak
1d68c9b386
ci: use NixOS in Docker
2020-06-07 17:08:25 +02:00
Tomas Susanka
5440f1db27
ci: fix release legacy btconly deploy
2020-06-03 15:13:50 +00:00
Pavol Rusnak
ae2d5813f0
ci/Dockerfile: set PIPENV_CACHE_DIR
2020-06-01 23:39:17 +02:00
Pavol Rusnak
86e20d07bd
ci/Dockerfile: update trezor_monero_tests binary
2020-05-13 11:13:19 +02:00
Tomas Susanka
742b23e382
ci/fido2: check if another emu is not running
2020-05-06 14:36:11 +00:00
Tomas Susanka
05aabc64bb
docs: document CI jobs
2020-05-04 08:51:57 +02:00
Tomas Susanka
503bbb0eb3
ci: add check for release branches
...
If release branch, CI now checks that all commits are either
cherry-picked from master (using `-x` option) or contain [NO MASTER].
2020-04-24 16:49:29 +00:00
Tomas Susanka
1634baa1e5
ci: remove 'only changes'
2020-04-20 20:14:24 +02:00
Tomas Susanka
24fff39314
ci: add tpmb
2020-04-16 18:13:11 +02:00
Tomas Susanka
1be5e577ee
ci: move report files 'mv' to after_script
...
Otherwise it does not get moved to the right place if the test suite
fails.
2020-04-16 16:09:18 +00:00
Tomas Susanka
f82e28ee6f
ci: fix upgrade tests deploy when commit has two tags
2020-04-16 14:43:19 +00:00
Tomas Susanka
6901cb7cdf
ci: simplify regular expressions for release and tags
2020-04-10 11:23:07 +02:00
Tomas Susanka
2b031990f8
ci: run hardware tests nightly and for releases
2020-04-10 11:23:07 +02:00
Marek Mahut
4264e87319
ci: add hardware tests for T1
...
This enables to run device tests against an actual device connected to
our CI. It uses https://github.com/mmahut/tpmb to enter bootloader and
then it uploads a debug firmware to the device. The debug mode is the
used to "click" the buttons but we might improve this and actually use
the hardware buttons instead.
2020-04-10 11:23:07 +02:00
Tomas Susanka
17392f94b8
ci: set artifacts' name using the job name and commit hash
2020-04-07 10:42:45 +02:00
Tomas Susanka
30a267c83d
ci: check if commit message contains fixup on travis
2020-03-06 18:45:46 +00:00
Tomas Susanka
e3b674a42e
ci: move ui reports to the root to simplify artifacts browsing
...
I wanted to use a symlink but that does not seem to work on GitLab https://gitlab.com/gitlab-org/gitlab-runner/issues/4241 .
2020-03-04 14:37:39 +01:00
Tomas Susanka
89929c7a8c
tests/ui: create report what differs from master
2020-03-04 13:41:32 +01:00
Tomas Susanka
c418e628ac
ci: omit unix/emu label in test jobs
2020-02-24 11:47:06 +00:00
matejcik
8c75c94125
ci: ensure system Python 3.7 is used even if other pythons are available
2020-02-11 11:53:34 +01:00
matejcik
37ab510622
ci: remove sleeps for coverage, restore Monero
...
with the new emulator runner, this should be more stable
This reverts commit 1480f5a25c
.
2020-02-11 11:19:56 +01:00
Tomas Susanka
8a499b3067
ci: run coverage only for core
2020-02-10 16:12:46 +00:00
Tomas Susanka
f4c38af825
ci: use 'extends' instead of yaml anchors
...
We might refactor the ci folder a bit more using this but I believe it
is fine for now.
Should solve #835 .
2020-02-10 16:12:46 +00:00