# 2023-01-09: ubuntu:latest = 22.04, ubuntu:rolling = 22.10, ubuntu:devel = 23.04 # See https://hub.docker.com/_/ubuntu image: ubuntu:rolling stages: - build - deploy variables: MESON_GCC_DEPS: g++ gettext git yelp-tools python3-pygments python3-setuptools libcairo2-dev mm-common libsigc++-3.0-dev meson ninja-build GIT_SUBMODULE_STRATEGY: normal .build_default: before_script: - export DEBIAN_FRONTEND=noninteractive - apt update && apt -y upgrade && apt -y install $DEPENDENCIES release_gcc_build: extends: .build_default stage: build variables: DEPENDENCIES: $MESON_GCC_DEPS script: - mkdir _build && cd _build # -Ddebug=false + -Doptimization=3 correspond to -Dbuildtype=release - meson setup --prefix=/usr --libdir=lib -Ddebug=false -Doptimization=3 -Dwarnings=fatal -Dwarning_level=3 -Dwerror=true - meson compile - meson test - meson install artifacts: when: always paths: - _build/docs/reference release_clang_build: extends: .build_default stage: build variables: DEPENDENCIES: $MESON_GCC_DEPS clang script: - mkdir _build && cd _build # -Ddebug=false + -Doptimization=3 correspond to -Dbuildtype=release - CC=clang CXX=clang++ meson setup --prefix=/usr --libdir=lib -Ddebug=false -Doptimization=3 -Dwarnings=fatal -Dwarning_level=3 -Dwerror=true - meson compile - meson test - meson install allow_failure: true artifacts: when: on_failure paths: - _build/meson-logs/testlog.txt - _build/meson-logs/meson-log.txt expire_in: 1 week # Publish reference documentation at cairo.pages.freedesktop.org/cairomm pages: stage: deploy needs: [release_gcc_build] script: - mkdir public - mv _build/docs/reference/html/* public artifacts: paths: - public only: refs: - master