variables:
    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:devel:
    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:
    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 \
            libglib2.0-dev \
            libxau-dev \
            meson \
            ${NULL+}

            meson \
                --prefix="$(pwd)/_build/relocatable-install" \
                -Dpython=python3.5 \
                _build
            ninja -C _build
            ninja -C _build install
            meson test --verbose -C _build
            ./build-relocatable-install.py \
              --srcdir . \
              --builddir _build \
              --libcapsuledir /usr/lib/libcapsule/relocatable \
              --prefix="$(pwd)/_build/relocatable-install" \
              --archive "$(pwd)/_build" \
              --set-version "$(cat .tarball-version)" \
              ${NULL+}
            prove -v ./tests/relocatable-install.py :: \
              --srcdir . \
              --builddir _build \
              --prefix="$(pwd)/_build/relocatable-install" \
              ${NULL+}

# 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
