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
        meson
        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

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
                apt-get -y update
            fi

            apt-get -y --no-install-recommends install \
            bubblewrap \
            libcapsule0 \
            libcapsule-tools-relocatable:amd64 \
            libcapsule-tools-relocatable:i386 \
            libglib2.0-dev \
            libxau-dev \
            meson \
            ${NULL+}

            meson \
              --prefix="$(pwd)/_build/prefix" \
              -Dpython=python3.5 \
              -Dsrcdir=src \
              _build
            ninja -C _build
            meson test --verbose -C _build
            ninja -C _build install
            rm -fr _build/relocatable-install
            _build/prefix/bin/pressure-vessel-build-relocatable-install \
              --output _build/relocatable-install \
              --archive "$(pwd)/_build" \
              ${NULL+}
            prove -v ./tests/relocatable-install.py :: \
              "$(pwd)/_build/relocatable-install"

# Artifacts are currently disabled because uploading them to the
# coordinator results in HTTP 413 Request Entity Too Large.
#   artifacts:
#       paths:
#           - _build/pressure-vessel-*-bin.tar.gz
#           - _build/pressure-vessel-*-bin+src.tar.gz