d0caa0a881
If no stage is listed, jobs get put in an implicit "test" stage. Some jobs which create container images to be used by later stages are currently listed as in a "build" stages. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20200622153318.751107-2-berrange@redhat.com> Message-Id: <20200701135652.1366-21-alex.bennee@linaro.org>
51 lines
1.6 KiB
YAML
51 lines
1.6 KiB
YAML
docker-edk2:
|
|
stage: containers
|
|
rules: # Only run this job when the Dockerfile is modified
|
|
- changes:
|
|
- .gitlab-ci.d/edk2.yml
|
|
- .gitlab-ci.d/edk2/Dockerfile
|
|
when: always
|
|
image: docker:19.03.1
|
|
services:
|
|
- docker:19.03.1-dind
|
|
variables:
|
|
GIT_DEPTH: 3
|
|
IMAGE_TAG: $CI_REGISTRY_IMAGE:edk2-cross-build
|
|
# We don't use TLS
|
|
DOCKER_HOST: tcp://docker:2375
|
|
DOCKER_TLS_CERTDIR: ""
|
|
before_script:
|
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
script:
|
|
- docker pull $IMAGE_TAG || true
|
|
- docker build --cache-from $IMAGE_TAG --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
|
--tag $IMAGE_TAG .gitlab-ci.d/edk2
|
|
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
|
- docker push $IMAGE_TAG
|
|
|
|
build-edk2:
|
|
stage: build
|
|
rules: # Only run this job when ...
|
|
- changes: # ... roms/edk2/ is modified (submodule updated)
|
|
- roms/edk2/*
|
|
when: always
|
|
- if: '$CI_COMMIT_REF_NAME =~ /^edk2/' # or the branch/tag starts with 'edk2'
|
|
when: always
|
|
- if: '$CI_COMMIT_MESSAGE =~ /edk2/i' # or last commit description contains 'EDK2'
|
|
when: always
|
|
artifacts:
|
|
paths: # 'artifacts.zip' will contains the following files:
|
|
- pc-bios/edk2*bz2
|
|
- pc-bios/edk2-licenses.txt
|
|
- edk2-stdout.log
|
|
- edk2-stderr.log
|
|
image: $CI_REGISTRY_IMAGE:edk2-cross-build
|
|
variables:
|
|
GIT_DEPTH: 3
|
|
script: # Clone the required submodules and build EDK2
|
|
- git submodule update --init roms/edk2
|
|
- git -C roms/edk2 submodule update --init
|
|
- export JOBS=$(($(getconf _NPROCESSORS_ONLN) + 1))
|
|
- echo "=== Using ${JOBS} simultaneous jobs ==="
|
|
- make -j${JOBS} -C roms efi 2>&1 1>edk2-stdout.log | tee -a edk2-stderr.log >&2
|