mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2026-03-15 05:34:36 -04:00
ci: Add comments, rename build stages
No non-cosmetic changes, just making things more accessible. Signed-off-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
parent
2aa0a83d36
commit
7940bbb735
1 changed files with 56 additions and 7 deletions
|
|
@ -1,5 +1,47 @@
|
||||||
.templates_sha: &template_sha 290b79e0e78eab67a83766f4e9691be554fc4afd # see https://docs.gitlab.com/ee/ci/yaml/#includefile
|
# This file uses the freedesktop ci-templates to build Weston and run our
|
||||||
|
# tests in CI.
|
||||||
|
#
|
||||||
|
# ci-templates uses a multi-stage build process. First, the base container
|
||||||
|
# image is built which contains the core distribution, the toolchain, and
|
||||||
|
# all our build dependencies. This container is aggressively cached; if a
|
||||||
|
# container image matching $FDO_DISTRIBUTION_TAG is found in either the
|
||||||
|
# upstream repo (wayland/weston) or the user's downstream repo, it is
|
||||||
|
# reused for the build. This gives us predictability of build and far
|
||||||
|
# quicker runtimes, however it means that any changes to the base container
|
||||||
|
# must also change $FDO_DISTRIBUTION_TAG. When changing this, please use
|
||||||
|
# the current date as well as a unique build identifier.
|
||||||
|
#
|
||||||
|
# After the container is either rebuilt (tag mismatch) or reused (tag
|
||||||
|
# previously used), the build stage executes within this container.
|
||||||
|
#
|
||||||
|
# The final stage is used to expose documentation and coverage information,
|
||||||
|
# including publishing documentation to the public site when built on the
|
||||||
|
# main branch.
|
||||||
|
#
|
||||||
|
# Apart from the 'variables', 'include', and 'stages' top-level anchors,
|
||||||
|
# everything not beginning with a dot ('.') is the name of a job which will
|
||||||
|
# be executed as part of CI, unless the rules specify that it should not be
|
||||||
|
# run.
|
||||||
|
#
|
||||||
|
# Variables prefixed with CI_ are generally provided by GitLab itself;
|
||||||
|
# variables prefixed with FDO_ and templates prefixed by .fdo are provided
|
||||||
|
# by the ci-templates.
|
||||||
|
#
|
||||||
|
# For more information on GitLab CI, including the YAML syntax, see:
|
||||||
|
# https://docs.gitlab.com/ee/ci/yaml/README.html
|
||||||
|
#
|
||||||
|
# Note that freedesktop.org uses the 'Community Edition' of GitLab, so features
|
||||||
|
# marked as 'premium' or 'ultimate' are not available to us.
|
||||||
|
#
|
||||||
|
# For more information on ci-templates, see:
|
||||||
|
# - documentation at https://freedesktop.pages.freedesktop.org/ci-templates/
|
||||||
|
# - repo at https://gitlab.freedesktop.org/freedesktop/ci-templates/
|
||||||
|
|
||||||
|
# Here we use a fixed ref in order to isolate ourselves from ci-templates
|
||||||
|
# API changes. If you need new features from ci-templates you must bump
|
||||||
|
# this to the current SHA you require from the ci-templates repo, however
|
||||||
|
# be aware that you may need to account for API changes when doing so.
|
||||||
|
.templates_sha: &template_sha 290b79e0e78eab67a83766f4e9691be554fc4afd # see https://docs.gitlab.com/ee/ci/yaml/#includefile
|
||||||
|
|
||||||
include:
|
include:
|
||||||
# Debian container builder template
|
# Debian container builder template
|
||||||
|
|
@ -12,12 +54,15 @@ include:
|
||||||
file: '/templates/ci-fairy.yml'
|
file: '/templates/ci-fairy.yml'
|
||||||
|
|
||||||
|
|
||||||
|
# Define the build stages. These are used for UI grouping as well as
|
||||||
|
# dependencies.
|
||||||
stages:
|
stages:
|
||||||
- review
|
- "Merge request checks"
|
||||||
- prep
|
- "Base container"
|
||||||
- build
|
- "Build and test"
|
||||||
|
|
||||||
|
|
||||||
|
# Base variables used for anything using a Debian environment
|
||||||
variables:
|
variables:
|
||||||
DEBIAN_PACKAGES: 'build-essential pkg-config libexpat1-dev libffi-dev libxml2-dev doxygen graphviz xmlto xsltproc docbook-xsl python3-pip python3-setuptools ninja-build'
|
DEBIAN_PACKAGES: 'build-essential pkg-config libexpat1-dev libffi-dev libxml2-dev doxygen graphviz xmlto xsltproc docbook-xsl python3-pip python3-setuptools ninja-build'
|
||||||
DEBIAN_EXEC: 'pip3 install meson==0.52.1'
|
DEBIAN_EXEC: 'pip3 install meson==0.52.1'
|
||||||
|
|
@ -40,7 +85,7 @@ variables:
|
||||||
check-commit:
|
check-commit:
|
||||||
extends:
|
extends:
|
||||||
- .fdo.ci-fairy
|
- .fdo.ci-fairy
|
||||||
stage: review
|
stage: "Merge request checks"
|
||||||
script:
|
script:
|
||||||
- ci-fairy check-commits --signed-off-by --junit-xml=results.xml
|
- ci-fairy check-commits --signed-off-by --junit-xml=results.xml
|
||||||
variables:
|
variables:
|
||||||
|
|
@ -50,20 +95,24 @@ check-commit:
|
||||||
junit: results.xml
|
junit: results.xml
|
||||||
|
|
||||||
|
|
||||||
|
# Build our base container image, which contains the core distribution, the
|
||||||
|
# toolchain, and all our build dependencies. This will be reused in the build
|
||||||
|
# stage.
|
||||||
debian:buster@container-prep:
|
debian:buster@container-prep:
|
||||||
extends:
|
extends:
|
||||||
- .debian.buster
|
- .debian.buster
|
||||||
- .fdo.container-build@debian
|
- .fdo.container-build@debian
|
||||||
stage: prep
|
stage: "Base container"
|
||||||
variables:
|
variables:
|
||||||
GIT_STRATEGY: none
|
GIT_STRATEGY: none
|
||||||
|
|
||||||
|
|
||||||
|
# Full build and test.
|
||||||
build-native:
|
build-native:
|
||||||
extends:
|
extends:
|
||||||
- .debian.buster
|
- .debian.buster
|
||||||
- .fdo.distribution-image@debian
|
- .fdo.distribution-image@debian
|
||||||
stage: build
|
stage: "Build and test"
|
||||||
script:
|
script:
|
||||||
- export BUILD_ID="wayland-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
- export BUILD_ID="wayland-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue