1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-22 14:28:07 +00:00
trezor-firmware/ci/environment.yml

40 lines
1.6 KiB
YAML

# Connected with creating the testing image for CI.
# Environment job builds the `ci/Dockerfile` and pushes the built docker image
# into our GitLab registry. Since modifications of this Dockerfile are very rare
# this is a _manual_ job which needs to be triggered on GitLab.
# Almost all CI jobs run inside this docker image.
.environment:
stage: environment
image: docker
variables:
GIT_SUBMODULE_STRATEGY: none # no need to fetch submodules
CONTAINER_NAME: "$CI_REGISTRY/satoshilabs/trezor/trezor-firmware/trezor-firmware-env.nix"
ALPINE_RELEASE: "3.15"
ALPINE_ARCH: "x86_64"
ALPINE_VERSION: "3.15.0"
ALPINE_CHECKSUM: "ec7ec80a96500f13c189a6125f2dbe8600ef593b87fc4670fe959dc02db727a2"
NIX_VERSION: "2.4"
services:
- docker:dind
before_script:
- docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
script:
- wget -nc -P ci/ https://dl-cdn.alpinelinux.org/alpine/v$ALPINE_RELEASE/releases/$ALPINE_ARCH/alpine-minirootfs-$ALPINE_VERSION-$ALPINE_ARCH.tar.gz
- echo "${ALPINE_CHECKSUM} ci/alpine-minirootfs-$ALPINE_VERSION-$ALPINE_ARCH.tar.gz" | sha256sum -c
- docker build --tag $CONTAINER_NAME:$CI_COMMIT_SHA --tag $CONTAINER_NAME:latest --build-arg ALPINE_VERSION="$ALPINE_VERSION" --build-arg ALPINE_ARCH="$ALPINE_ARCH" --build-arg NIX_VERSION="$NIX_VERSION" --build-arg FULLDEPS_TESTING=1 ci/
- docker push $CONTAINER_NAME:$CI_COMMIT_SHA
- docker push $CONTAINER_NAME:latest
tags:
- runner0_dind
environment manual:
extends: .environment
when: manual
environment scheduled:
extends: .environment
only:
variables:
- $SCHEDULED_ENVIRONMENR_BUILD == "true"