mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-30 01:58:11 +00:00
3a8e46467a
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.
242 lines
7.1 KiB
YAML
242 lines
7.1 KiB
YAML
image: registry.gitlab.com/satoshilabs/trezor/trezor-firmware/trezor-firmware-env.nix
|
|
|
|
# Releases
|
|
|
|
release core fw regular deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_DIRECTORY: "releases/firmwares"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- core fw regular build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh core/embed/firmware/version.h)
|
|
- export NAME="trezor-fw-regular-$VERSION-$CI_COMMIT_SHORT_SHA.bin"
|
|
- echo "Deploying to ${DEPLOY_DIRECTORY}/$NAME"
|
|
- mkdir -p "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}"
|
|
- rsync --delete -va $NAME "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}/$NAME"
|
|
only:
|
|
- /^core\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
release core fw btconly deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_DIRECTORY: "releases/firmwares"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- core fw btconly build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh core/embed/firmware/version.h)
|
|
- export NAME="trezor-fw-btconly-$VERSION-$CI_COMMIT_SHORT_SHA.bin"
|
|
- echo "Deploying to ${DEPLOY_DIRECTORY}/$NAME"
|
|
- mkdir -p "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}"
|
|
- rsync --delete -va $NAME "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}/$NAME"
|
|
only:
|
|
- /^core\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
release core fw regular debug deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_DIRECTORY: "releases/firmwares"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- core fw regular debug build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh core/embed/firmware/version.h)
|
|
- export NAME="trezor-fw-regular-debug-$VERSION-$CI_COMMIT_SHORT_SHA.bin"
|
|
- echo "Deploying to ${DEPLOY_DIRECTORY}/$NAME"
|
|
- mkdir -p "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}"
|
|
- rsync --delete -va $NAME "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}/$NAME"
|
|
only:
|
|
- /^core\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
release core fw btconly debug deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_DIRECTORY: "releases/firmwares"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- core fw btconly debug build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh core/embed/firmware/version.h)
|
|
- export NAME="trezor-fw-btconly-debug-$VERSION-$CI_COMMIT_SHORT_SHA.bin"
|
|
- echo "Deploying to ${DEPLOY_DIRECTORY}/$NAME"
|
|
- mkdir -p "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}"
|
|
- rsync --delete -va $NAME "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}/$NAME"
|
|
only:
|
|
- /^core\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
# Legacy
|
|
|
|
release legacy fw regular deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_DIRECTORY: "releases/firmwares"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- legacy fw regular build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh legacy/firmware/version.h)
|
|
- export NAME="trezor-fw-regular-$VERSION-$CI_COMMIT_SHORT_SHA.bin"
|
|
- echo "Deploying to ${DEPLOY_DIRECTORY}/$NAME"
|
|
- mkdir -p "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}"
|
|
- rsync --delete -va $NAME "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}/$NAME"
|
|
only:
|
|
- /^legacy\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
release legacy fw btconly deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_DIRECTORY: "releases/firmwares"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- legacy fw btconly build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh legacy/firmware/version.h)
|
|
- export NAME="trezor-fw-btconly-$VERSION-$CI_COMMIT_SHORT_SHA.bin"
|
|
- echo "Deploying to ${DEPLOY_DIRECTORY}/$NAME"
|
|
- mkdir -p "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}"
|
|
- rsync --delete -va $NAME "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}/$NAME"
|
|
only:
|
|
- /^legacy\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
release legacy fw regular debug deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_DIRECTORY: "releases/firmwares"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- legacy fw regular debug build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh legacy/firmware/version.h)
|
|
- export NAME="trezor-fw-regular-debug-$VERSION-$CI_COMMIT_SHORT_SHA.bin"
|
|
- echo "Deploying to ${DEPLOY_DIRECTORY}/$NAME"
|
|
- mkdir -p "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}"
|
|
- rsync --delete -va $NAME "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}/$NAME"
|
|
only:
|
|
- /^legacy\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
release legacy fw btconly debug deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_DIRECTORY: "releases/firmwares"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- legacy fw btconly debug build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh legacy/firmware/version.h)
|
|
- export NAME="trezor-fw-btconly-debug-$VERSION-$CI_COMMIT_SHORT_SHA.bin"
|
|
- echo "Deploying to ${DEPLOY_DIRECTORY}/$NAME"
|
|
- mkdir -p "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}"
|
|
- rsync --delete -va $NAME "${DEPLOY_BASE_DIR}/${DEPLOY_DIRECTORY}/$NAME"
|
|
only:
|
|
- /^legacy\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
# Emulators, used also for upgrade tests
|
|
|
|
release core unix debug deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_PATH: "${DEPLOY_BASE_DIR}/releases/emulators"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- core unix frozen debug build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh core/embed/firmware/version.h)
|
|
- DEST="$DEPLOY_PATH/trezor-emu-core-$VERSION-$CI_COMMIT_SHORT_SHA"
|
|
- echo "Deploying to $DEST"
|
|
- nix-shell -p patchelf --run "patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 core/build/unix/trezor-emu-core"
|
|
- rsync --delete -va core/build/unix/trezor-emu-core "$DEST"
|
|
only:
|
|
- /^core\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
release legacy unix debug deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_PATH: "${DEPLOY_BASE_DIR}/releases/emulators"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- legacy emu regular debug build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh legacy/firmware/version.h)
|
|
- DEST="$DEPLOY_PATH/trezor-emu-legacy-$VERSION-$CI_COMMIT_SHORT_SHA"
|
|
- echo "Deploying to $DEST"
|
|
- nix-shell -p patchelf --run "patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 legacy/firmware/trezor.elf"
|
|
- rsync --delete -va legacy/firmware/trezor.elf "$DEST"
|
|
only:
|
|
- /^legacy\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
release core macos debug deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_PATH: "${DEPLOY_BASE_DIR}/releases/emulators/macos"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- core unix frozen debug build
|
|
script:
|
|
- export VERSION=$(./tools/version.sh core/embed/firmware/version.h)
|
|
- DEST="$DEPLOY_PATH/trezor-emu-macos-$VERSION-$CI_COMMIT_SHORT_SHA"
|
|
- echo "Deploying to $DEST"
|
|
- rsync --delete -va core/build/unix/trezor-emu-core "$DEST"
|
|
only:
|
|
- /^core\//
|
|
except:
|
|
- branches # run for tags only
|
|
tags:
|
|
- deploy
|
|
|
|
# UI tests
|
|
|
|
ui tests core fixtures deploy:
|
|
stage: deploy
|
|
variables:
|
|
DEPLOY_PATH: "${DEPLOY_BASE_DIR}/ui_tests/"
|
|
before_script: [] # no poetry
|
|
needs:
|
|
- core device ui test
|
|
script:
|
|
- echo "Deploying to $DEPLOY_PATH"
|
|
- rsync --delete -va ci/ui_test_records/* "$DEPLOY_PATH"
|
|
tags:
|
|
- deploy
|