mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-21 23:18:13 +00:00
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.
This commit is contained in:
parent
597b9fabd1
commit
7c58d7d24e
176
.gitlab-ci.yml
176
.gitlab-ci.yml
@ -17,174 +17,14 @@ stages:
|
||||
- build
|
||||
- test
|
||||
|
||||
environment:
|
||||
stage: environment
|
||||
image: docker:latest
|
||||
variables:
|
||||
CONTAINER_NAME: "$CI_REGISTRY/trezor/trezor-firmware/environment"
|
||||
services:
|
||||
- docker:dind
|
||||
before_script:
|
||||
- docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
|
||||
when: manual
|
||||
script:
|
||||
- docker pull $CONTAINER_NAME:latest || true
|
||||
- docker build --cache-from $CONTAINER_NAME:latest --tag $CONTAINER_NAME:$CI_COMMIT_SHA --tag $CONTAINER_NAME:latest .
|
||||
- docker push $CONTAINER_NAME:$CI_COMMIT_SHA
|
||||
- docker push $CONTAINER_NAME:latest
|
||||
|
||||
image: registry.corp.sldev.cz/trezor/trezor-firmware/environment
|
||||
|
||||
before_script:
|
||||
- pipenv install
|
||||
|
||||
prebuild style:
|
||||
stage: prebuild
|
||||
script:
|
||||
- pipenv run make style_check
|
||||
- cd core && pipenv run make templates_check # TODO
|
||||
|
||||
prebuild common:
|
||||
stage: prebuild
|
||||
script:
|
||||
- cd common
|
||||
- pipenv run jsonlint defs/*.json
|
||||
- pipenv run jsonlint defs/*/*.json
|
||||
- pipenv run python tools/cointool.py check
|
||||
- pipenv run python tools/support.py check --ignore-missing
|
||||
- pipenv run python protob/check.py
|
||||
- pipenv run python protob/graph.py protob/*.proto # TODO: artifacts?
|
||||
|
||||
build core firmware:
|
||||
stage: build
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make build_cross
|
||||
- pipenv run make build_boardloader
|
||||
- pipenv run make build_bootloader
|
||||
- pipenv run make build_prodtest
|
||||
- pipenv run make build_firmware
|
||||
# - test "$TREZOR_MODEL" = "1" || pipenv run make sizecheck
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
||||
paths:
|
||||
- core/build/firmware/firmware.bin
|
||||
- core/build/bootloader/bootloader.bin
|
||||
expire_in: 1 week
|
||||
|
||||
build core unix:
|
||||
stage: build
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make build_unix_noui
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
||||
untracked: true
|
||||
expire_in: 1 day
|
||||
|
||||
build legacy firmware:
|
||||
stage: build
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/cibuild
|
||||
- pipenv run make -C bootloader
|
||||
- pipenv run make -C demo
|
||||
|
||||
build legacy firmware debug:
|
||||
stage: build
|
||||
variables:
|
||||
DEBUG_LINK: "1"
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/cibuild
|
||||
- pipenv run make -C bootloader
|
||||
- pipenv run make -C demo
|
||||
|
||||
build legacy firmware bitcoinonly:
|
||||
stage: build
|
||||
variables:
|
||||
BITCOIN_ONLY: "1"
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/cibuild
|
||||
- pipenv run make -C bootloader
|
||||
- pipenv run make -C demo
|
||||
|
||||
build legacy emu:
|
||||
stage: build
|
||||
variables:
|
||||
HEADLESS: "1"
|
||||
EMULATOR: "1"
|
||||
DEBUG_LINK: "1"
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/cibuild
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
||||
untracked: true
|
||||
expire_in: 1 day
|
||||
|
||||
build crypto:
|
||||
stage: build
|
||||
script:
|
||||
- cd crypto
|
||||
- pipenv run make
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
||||
untracked: true
|
||||
expire_in: 1 day
|
||||
|
||||
test core unix unit:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build core unix
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make test
|
||||
|
||||
test core unix device:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build core unix
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make test_emu
|
||||
|
||||
test core unix monero:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build core unix
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make test_emu_monero
|
||||
|
||||
# TODO: aren't some tests from .travis.yml missing?
|
||||
test legacy emu:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build legacy emu
|
||||
variables:
|
||||
EMULATOR: "1"
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/test
|
||||
|
||||
test crypto:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build crypto
|
||||
script:
|
||||
- cd crypto
|
||||
- ./tests/aestst
|
||||
- ./tests/test_check
|
||||
- CK_TIMEOUT_MULTIPLIER=20 valgrind -q --error-exitcode=1 ./tests/test_check
|
||||
- ./tests/test_openssl 1000
|
||||
- ITERS=10 pipenv run pytest tests/ # TODO are ITERS=10 propagated?
|
||||
|
||||
test storage:
|
||||
stage: test
|
||||
dependencies: []
|
||||
script:
|
||||
- cd storage/tests
|
||||
- pipenv run make build
|
||||
- pipenv run make tests_all
|
||||
include:
|
||||
- ci/environment.yml
|
||||
- ci/prebuild.yml # common, style
|
||||
- ci/core.yml
|
||||
- ci/legacy.yml
|
||||
# - ci/python.yml TODO
|
||||
- ci/crypto.yml
|
||||
- ci/storage.yml
|
||||
|
52
ci/core.yml
Normal file
52
ci/core.yml
Normal file
@ -0,0 +1,52 @@
|
||||
image: registry.corp.sldev.cz/trezor/trezor-firmware/environment
|
||||
|
||||
build core firmware:
|
||||
stage: build
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make build_cross
|
||||
- pipenv run make build_boardloader
|
||||
- pipenv run make build_bootloader
|
||||
- pipenv run make build_prodtest
|
||||
- pipenv run make build_firmware
|
||||
# - test "$TREZOR_MODEL" = "1" || pipenv run make sizecheck
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
||||
paths:
|
||||
- core/build/firmware/firmware.bin
|
||||
- core/build/bootloader/bootloader.bin
|
||||
expire_in: 1 week
|
||||
|
||||
build core unix:
|
||||
stage: build
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make build_unix_noui
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
||||
untracked: true
|
||||
expire_in: 1 day
|
||||
|
||||
test core unix unit:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build core unix
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make test
|
||||
|
||||
test core unix device:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build core unix
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make test_emu
|
||||
|
||||
test core unix monero:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build core unix
|
||||
script:
|
||||
- cd core
|
||||
- pipenv run make test_emu_monero
|
23
ci/crypto.yml
Normal file
23
ci/crypto.yml
Normal file
@ -0,0 +1,23 @@
|
||||
image: registry.corp.sldev.cz/trezor/trezor-firmware/environment
|
||||
|
||||
build crypto:
|
||||
stage: build
|
||||
script:
|
||||
- cd crypto
|
||||
- pipenv run make
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
||||
untracked: true
|
||||
expire_in: 1 day
|
||||
|
||||
test crypto:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build crypto
|
||||
script:
|
||||
- cd crypto
|
||||
- ./tests/aestst
|
||||
- ./tests/test_check
|
||||
- CK_TIMEOUT_MULTIPLIER=20 valgrind -q --error-exitcode=1 ./tests/test_check
|
||||
- ./tests/test_openssl 1000
|
||||
- ITERS=10 pipenv run pytest tests/ # TODO are ITERS=10 propagated?
|
15
ci/environment.yml
Normal file
15
ci/environment.yml
Normal file
@ -0,0 +1,15 @@
|
||||
environment:
|
||||
stage: environment
|
||||
image: docker:latest
|
||||
variables:
|
||||
CONTAINER_NAME: "$CI_REGISTRY/trezor/trezor-firmware/environment"
|
||||
services:
|
||||
- docker:dind
|
||||
before_script:
|
||||
- docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
|
||||
when: manual
|
||||
script:
|
||||
- docker pull $CONTAINER_NAME:latest || true
|
||||
- docker build --cache-from $CONTAINER_NAME:latest --tag $CONTAINER_NAME:$CI_COMMIT_SHA --tag $CONTAINER_NAME:latest ci/
|
||||
- docker push $CONTAINER_NAME:$CI_COMMIT_SHA
|
||||
- docker push $CONTAINER_NAME:latest
|
54
ci/legacy.yml
Normal file
54
ci/legacy.yml
Normal file
@ -0,0 +1,54 @@
|
||||
image: registry.corp.sldev.cz/trezor/trezor-firmware/environment
|
||||
|
||||
build legacy firmware:
|
||||
stage: build
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/cibuild
|
||||
- pipenv run make -C bootloader
|
||||
- pipenv run make -C demo
|
||||
|
||||
build legacy firmware debug:
|
||||
stage: build
|
||||
variables:
|
||||
DEBUG_LINK: "1"
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/cibuild
|
||||
- pipenv run make -C bootloader
|
||||
- pipenv run make -C demo
|
||||
|
||||
build legacy firmware bitcoinonly:
|
||||
stage: build
|
||||
variables:
|
||||
BITCOIN_ONLY: "1"
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/cibuild
|
||||
- pipenv run make -C bootloader
|
||||
- pipenv run make -C demo
|
||||
|
||||
build legacy emu:
|
||||
stage: build
|
||||
variables:
|
||||
HEADLESS: "1"
|
||||
EMULATOR: "1"
|
||||
DEBUG_LINK: "1"
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/cibuild
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
|
||||
untracked: true
|
||||
expire_in: 1 day
|
||||
|
||||
# TODO: aren't some tests from .travis.yml missing?
|
||||
test legacy emu:
|
||||
stage: test
|
||||
dependencies:
|
||||
- build legacy emu
|
||||
variables:
|
||||
EMULATOR: "1"
|
||||
script:
|
||||
- cd legacy
|
||||
- pipenv run script/test
|
18
ci/prebuild.yml
Normal file
18
ci/prebuild.yml
Normal file
@ -0,0 +1,18 @@
|
||||
image: registry.corp.sldev.cz/trezor/trezor-firmware/environment
|
||||
|
||||
prebuild style:
|
||||
stage: prebuild
|
||||
script:
|
||||
- pipenv run make style_check
|
||||
- cd core && pipenv run make templates_check # TODO
|
||||
|
||||
prebuild common:
|
||||
stage: prebuild
|
||||
script:
|
||||
- cd common
|
||||
- pipenv run jsonlint defs/*.json
|
||||
- pipenv run jsonlint defs/*/*.json
|
||||
- pipenv run python tools/cointool.py check
|
||||
- pipenv run python tools/support.py check --ignore-missing
|
||||
- pipenv run python protob/check.py
|
||||
- pipenv run python protob/graph.py protob/*.proto # TODO: artifacts?
|
9
ci/storage.yml
Normal file
9
ci/storage.yml
Normal file
@ -0,0 +1,9 @@
|
||||
image: registry.corp.sldev.cz/trezor/trezor-firmware/environment
|
||||
|
||||
test storage:
|
||||
stage: test
|
||||
dependencies: []
|
||||
script:
|
||||
- cd storage/tests
|
||||
- pipenv run make build
|
||||
- pipenv run make tests_all
|
@ -21,7 +21,7 @@ else
|
||||
REPOSITORY=https://github.com/$REPOSITORY/trezor-firmware.git
|
||||
fi
|
||||
|
||||
docker build -t $IMAGE --build-arg TOOLCHAIN_FLAVOR=$TOOLCHAIN_FLAVOR core
|
||||
docker build -t $IMAGE --build-arg TOOLCHAIN_FLAVOR=$TOOLCHAIN_FLAVOR ci/
|
||||
|
||||
USER=$(ls -lnd . | awk '{ print $3 }')
|
||||
GROUP=$(ls -lnd . | awk '{ print $4 }')
|
||||
|
@ -10,6 +10,6 @@ IMAGE=trezor-mcu-build
|
||||
USER=$(ls -lnd . | awk '{ print $3 }')
|
||||
GROUP=$(ls -lnd . | awk '{ print $4 }')
|
||||
|
||||
docker build -t "$IMAGE" .
|
||||
docker build -t "$IMAGE" ci/
|
||||
docker run -it -v $(pwd):/src:z --user="$USER:$GROUP" "$IMAGE" \
|
||||
/src/legacy/script/fullbuild "$BOOTLOADER_COMMIT" "$FIRMWARE_COMMIT"
|
||||
|
Loading…
Reference in New Issue
Block a user