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
Tomas Susanka
1480f5a25c
ci: remove coverage from monero test
...
It fails randomly and we do not use it at the moment anyway.
2020-02-06 12:37:30 +00:00
Tomas Susanka
30684bc46b
tests/ui: fix deploy script
2020-01-31 13:38:32 +00:00
Tomas Susanka
e9c5e47ab4
ci: add Pipfile.lock to 'only_changes'
2020-01-29 09:09:32 +00:00
matejcik
04fe99af8e
ci: turn mypy check into a part of style-check
2020-01-28 16:32:28 +01:00
matejcik
06909aef7d
ci: no dependencies for python test
2020-01-28 16:24:58 +01:00
matejcik
34332cc294
ci: do not store resources for frozen builds
2020-01-23 18:43:20 +01:00
matejcik
e2f71a1acc
ci: use frozen debug builds for emulator tests
2020-01-23 18:43:20 +01:00
matejcik
6cf48bf485
ci: use explicit trezor.log location
2020-01-23 18:43:20 +01:00
matejcik
32b269ad43
ci: fix path for core-bitcoinonly test
2020-01-23 18:43:20 +01:00
Pavol Rusnak
9a884a5dc5
ci/tests: disable test_LongEcho in HIDTest, remove retry
2020-01-23 12:26:43 +00:00
Tomas Susanka
7c41b40dff
tests: introduce UI tests for core with diffs ( #784 )
...
tests: introduce UI tests for core with diffs
2020-01-10 20:39:31 +01:00
Milan Rossa
33b7e378c2
core/ci: add coverage target, introduce posttest stage
2020-01-09 15:26:40 +01:00
Tomas Susanka
1103a14c48
tests/ui: move reports and add index.html
2020-01-09 14:25:45 +00:00
Tomas Susanka
96ec85686e
tests/ui: success html file
2020-01-07 14:43:23 +00:00
Tomas Susanka
68425fbb8c
ci: add junit to ui tests
2020-01-07 12:38:12 +00:00
Tomas Susanka
362dbce606
ci: rename tmp folder to ui_test_records
2020-01-06 14:59:12 +00:00
Tomas Susanka
56257eb6a5
tests/ui: code review fixes
2020-01-06 14:44:30 +00:00
Tomas Susanka
fe690a6b6b
tests/ui: embed images as base64 to diff.html
2020-01-03 15:07:46 +00:00
Tomas Susanka
3dfbe7aa98
ci: upload ui tests fixtures
2020-01-03 15:07:46 +00:00
Tomas Susanka
51ef963738
tests: introduce UI tests for core
2020-01-03 14:28:27 +00:00
Tomas Susanka
bc0c10bf3e
ci: always upload test.yml artifacts
...
To have the emulator log and junit always available.
2020-01-03 14:26:21 +00:00
Tomas Susanka
a28f29708f
ci: add junit for a nice tests overview
2020-01-03 12:44:12 +00:00
Tomas Susanka
b6e2c2d14b
ci/tests: add core emulator logs as artifacts
2019-12-09 12:17:12 +00:00
Pavol Rusnak
d63f613238
ci/docker: use gcc-arm-embedded 9
2019-12-01 19:30:10 +01:00
Pavol Rusnak
0a0cd797e3
ci/tests: use new Monero tests binary
2019-11-13 16:29:06 +01:00
Pavol Rusnak
13af405158
ci/test: remove retry attribute for "core unix monero test"
...
Hopefully we won't need this anymore once we use monero 0.15
for testing.
2019-11-13 00:30:41 +01:00
Dusan Klinec
d81f43f7a4
tests: use new monero testing binary v0.15.0.0
2019-11-12 22:53:47 +01:00
Pavol Rusnak
07cdebeb9b
ci/legacy: don't build bootloader twice
...
(script/cibuild already does it)
2019-11-10 14:38:49 +01:00
Tomas Susanka
a799be335a
ci: add core debug fw build
2019-11-05 10:23:11 +01:00
Tomas Susanka
7016391893
ci: add artifacts to legacy fw debug build
2019-10-31 12:51:50 +00:00
Pavol Rusnak
8aeec95bae
ci: include full links to issues
2019-10-26 11:28:56 +02:00
Tomas Susanka
c1f7239c2d
ci: add click and persistence tests
2019-10-25 12:04:14 +00:00
Tomas Susanka
0811733185
ci: run mypy without limitation
2019-10-22 14:36:25 +00:00
Tomas Susanka
b530e7c105
ci: add fido2 tests to ci
2019-10-18 16:54:00 +02:00
Tomas Susanka
0b1b9a2f79
ci: add mypy
...
closes #489
2019-10-16 16:06:09 +02:00
Tomas Susanka
74bc28b3cb
ci: deploy firmwares to the internal server
2019-10-16 10:27:27 +02:00
Marek Mahut
76f20fbaa5
ci/build: adding darwin emulator build
...
Keeping as allow_failure until it is fully tested out
2019-10-16 10:27:27 +02:00
Tomas Susanka
737ebeec1c
ci: add 'retry' to flaky tests (Monero and U2F)
2019-10-04 09:37:49 +02:00
Tomas Susanka
6ef0b8c4f2
ci: add missing '/' to DEPLOY_BASE_DIR variable
2019-10-03 11:44:26 +02:00
Pavol Rusnak
d8cdfea743
build: update protobuf dependency to 3.6.1
2019-10-02 13:07:48 +00:00
Pavol Rusnak
adcaf83eb2
ci: changes to *.pyi should also trigger gen_check
2019-09-25 10:30:48 +00:00
Pavol Rusnak
c5bae693e3
ci: build u2f test suite
2019-09-14 14:59:11 +02:00
Pavol Rusnak
650db2a5c0
ci: add u2f tests to CI
2019-09-14 14:47:45 +02:00
matejcik
0fc5e545d3
ci: update download_emulators path
2019-09-12 15:42:40 +02:00
Tomas Susanka
54de6b9fac
ci: deploy frozen emulators to upgrade tests
2019-09-10 14:42:14 +02:00
matejcik
8814837a9e
ci: split "test upgrade" for core and legacy ( fixes #501 )
2019-09-10 13:48:51 +02:00
matejcik
f5f78c0a99
ci: also run python test when common changes
2019-09-10 13:48:51 +02:00
Tomas Susanka
55f52e2d70
ci: reorder titles of Jobs for a better overview
2019-09-08 13:03:47 +02:00
Pavol Rusnak
26bbc5ee61
ci: rebuild core/legacy binaries when tests are changed,
...
because we need them when we run tests
2019-09-07 19:17:35 +02:00
Pavol Rusnak
e3df251f84
ci: enable only:changes to limit the number of required tasks
2019-09-07 12:10:24 +02:00
Pavol Rusnak
e04555e3e5
ci: add "regular" to regular builds
2019-09-02 13:45:59 +02:00
Pavol Rusnak
db86092319
crypto: fix valgrind issue with ed25519-donna, clean local variables
2019-08-30 17:21:15 +02:00
Pavol Rusnak
cc3f7b8d48
ci: include version+githash into artefact filenames
2019-08-29 00:01:59 +02:00
Pavol Rusnak
fc1f90875b
legacy: fix firmware build in CI with MEMORY_PROTECT=0
2019-08-28 16:12:19 +02:00
Pavol Rusnak
82fdf7e03d
ci: cleanup Dockerfile
2019-08-27 21:31:06 +02:00
Pavol Rusnak
2fe34aa33b
ci: add check that Bitcoin only firmware does not contain non-Bitcoin functionality
2019-08-27 12:39:48 +02:00
Tomas Susanka
077735f57b
ci: introduce upgrade tests
...
closes #126
2019-08-26 16:02:06 +02:00
Pavol Rusnak
b1f435e178
ci: test BITCOIN_ONLY firmware
2019-08-23 13:52:14 +02:00
Pavol Rusnak
9a42612c41
ci: use explicit artifacts (don't use untracked: true)
2019-08-22 17:47:36 +02:00
Pavol Rusnak
f40d926d16
legacy: fix emulator bitcoin only build
2019-08-21 10:25:56 +02:00
Tomas Susanka
f43652f2ea
ci: set no-verbose for wget for cleaner outputs
2019-08-20 12:02:49 +02:00
Tomas Susanka
b5c909417e
ci: split jobs based on stage not project
2019-08-19 14:47:12 +02:00
Tomas Susanka
bd3b93e521
ci: enable sizecheck; typo
2019-08-19 14:47:11 +02:00
matejcik
b9547ea948
ci: take python 3.5 from Debian, not from source
2019-08-13 15:39:58 +02:00
Tomas Susanka
8b7e72e0de
ci: add python 3.5, 3.6 and 3.8 to environment
2019-08-13 12:18:27 +02:00
matejcik
d521903963
python: clarify requirements, enable tox in CI
2019-08-12 12:57:25 +02:00
matejcik
834981f599
ci: verify behavior, remove TODO
2019-08-12 12:57:25 +02:00
Tomas Susanka
9f4f704856
ci: run environment only when manually triggered
2019-08-08 13:59:32 +02:00
Tomas Susanka
80601994bf
ci: change docker image's url to new gitlab
2019-08-02 17:08:13 +02:00
Tomas Susanka
3ae3bf6d03
ci: change container name in registry
2019-08-02 13:00:54 +02:00
Tomas Susanka
aa0f64c79f
ci: update docker; no need for TLS in internal env
...
https://gitlab.com/gitlab-org/gitlab-runner/issues/4501
2019-07-29 15:23:26 +02:00
Pavol Rusnak
ebc22e5ccb
ci/legacy: don't build bootloader/demo in bitcoinonly+debug targets
2019-06-11 17:01:13 +02:00
Tomas Susanka
83a5ae3def
ci: download monero tests binary in docker
...
closes #212
2019-06-03 19:44:41 +02:00
Tomas Susanka
8842215506
ci: hardcode docker image versions
2019-05-27 14:08:47 +02:00
Tomas Susanka
bf3d20b3e8
ci: run environment stage if ci folder has changes
2019-05-27 14:06:47 +02:00
Pavol Rusnak
5f1586e049
core: regenerate templates
2019-05-23 20:24:44 +02:00
Tomas Susanka
d3980521ef
ci: use git fetch; remove submodule strategy from specific places
2019-05-23 13:59:30 +02:00
matejcik
fdd92404d2
ci: run codegen checks
2019-05-17 15:49:01 +02:00
Pavol Rusnak
f7d41cbbd7
core+legacy: drop NOUI and HEADLESS, SDL_VIDEODRIVER works fine
2019-05-16 17:06:14 +02:00
matejcik
04a8aadb09
ci: install clang-format 6
2019-05-14 12:59:05 +02:00
matejcik
bc77cad5e4
ci: add clang-format to Dockerfile
2019-05-14 11:40:55 +02:00
matejcik
fbd6e435b8
ci: simplify running defs checks
2019-05-13 18:00:43 +02:00
Pavol Rusnak
9f924576ba
ci/core: enable unix frozen build in the ci
2019-05-01 13:43:31 +02:00
Pavol Rusnak
4b8c418dbc
core: fix docker build
2019-04-30 18:03:24 +02:00
Tomas Susanka
fe3d67e259
ci: set GIT_SUBMODULE_STRATEGY to none where not submodules are not needed
...
I've decided to omit some places (e.g. build crypto) where it might be
confusing if some submodules dependency is introduced. Well, that
concerns tests stages as well, but I guess it is more likely for the
build stage.
Updates #108
2019-04-28 12:37:34 +02:00
Tomas Susanka
7c58d7d24e
ci: split gitlab configuration files and store them in a 'ci' folder
...
The core/build-docker.sh si broken, but so it was already in master and
is tracked to be fixed in #108 .
2019-04-28 09:31:41 +02:00