Skip to content
Snippets Groups Projects
gitlab-ci.yml 3.35 KiB
include:
    - project: 'steam/steam-ci-pipeline'
      file: '/steam-gitlab-ci-common.yml'

    - project: 'steam/steam-ci-pipeline'
      file: '/steam-gitlab-ci-pipeline.yml'

variables:
    BUILD_IMAGE: docker.internal.steamos.cloud/steamrt/sdk:scout-latest
    STEAM_CI_USE_BINARIES_FROM: autopkgtest
    STEAM_CI_DEPENDENCIES: >-
        debhelper
        libglib2.0-dev
        libxau-dev
        locales
        meson
        pandoc
        python3
        python3.5
        zlib1g

    DEBIAN_FRONTEND: noninteractive

    SCOUT_DOCKER_REGISTRY: docker.steamos.cloud
    SCOUT_DOCKER_IMAGE: steamrt/sdk:scout
    SCOUT_APT_SOURCES_FILE: ''
    DEVEL_DOCKER_REGISTRY: docker.steamos.cloud
    DEVEL_DOCKER_IMAGE: steamos/package-builder:buster
    # Set non-empty to allow
    CI_ALLOW_MISSING_SOURCES: ''

build:
    variables:
        BUILD_IMAGE: docker.internal.steamos.cloud/steamos/package-builder:buster

build:devel:
    stage: build
    image: "${DEVEL_DOCKER_REGISTRY}/${DEVEL_DOCKER_IMAGE}"
    script:
        - |
            set -eux

            apt-get -y --no-install-recommends install \
            libglib2.0-dev \
            libxau-dev \
            meson \
            ${NULL+}

            meson _build
            ninja -C _build
            ninja -C _build install
            meson test --verbose -C _build

build:scout:
    stage: build
    image: "${SCOUT_DOCKER_REGISTRY}/${SCOUT_DOCKER_IMAGE}"
    script:
        - |
            set -eux

            if [ -n "${SCOUT_APT_SOURCES_FILE}" ]; then
                cp "${SCOUT_APT_SOURCES_FILE}" /etc/apt/sources.list
                echo >> /etc/apt/sources.list

                if [ -n "${STEAM_CI_EXTRA_APT_SOURCES-}" ]; then
                  echo "${STEAM_CI_EXTRA_APT_SOURCES}" | while read -r first rest; do
                    if [ "x$first" = xboth ]; then
                      echo "deb $rest" >> /etc/apt/sources.list
                      echo "deb-src $rest" >> /etc/apt/sources.list
                    else