Skip to content
Snippets Groups Projects
  • Simon McVittie's avatar
    e3ebf1b9
    populate-depot: New script to download one or more runtimes · e3ebf1b9
    Simon McVittie authored
    
    As we start to add more runtimes, we need to decouple the
    SteamLinuxRuntime depot from any individual runtime. Instead of producing
    a pre-populated depot as part of a scout build, we can clone this git
    repository in some convenient place and run ./populate-depot.py to
    download the necessary files.
    
    Also add convenience Makefile targets to download scout and optionally
    soldier - these are mostly here as manual tests and as executable
    examples.
    
    This partially resolves T17590 and T20721.
    
    Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
    e3ebf1b9
    History
    populate-depot: New script to download one or more runtimes
    Simon McVittie authored
    
    As we start to add more runtimes, we need to decouple the
    SteamLinuxRuntime depot from any individual runtime. Instead of producing
    a pre-populated depot as part of a scout build, we can clone this git
    repository in some convenient place and run ./populate-depot.py to
    download the necessary files.
    
    Also add convenience Makefile targets to download scout and optionally
    soldier - these are mostly here as manual tests and as executable
    examples.
    
    This partially resolves T17590 and T20721.
    
    Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
.gitlab-ci.yml 1.31 KiB
# Copyright © 2019-2020 Collabora Ltd.
#
# SPDX-License-Identifier: MIT

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

stages:
    - test
    - analyze

default:
    image: "${BUILD_IMAGE}"
    interruptible: true

test:
    stage: test
    # Assume Gitlab-CI uses bash, not sh (bash is the default)
    script: |
        set -eu
        set -o pipefail
        make check 2>&1 | tee qa-buster.log
    # Save qa.log for analysis
    artifacts:
        paths:
            - qa-buster.log

todo:
    stage: analyze
    # Succeed if grep fails (no failing or expected-failure tests),
    # fail if grep succeeds
    script: |
        ! grep -B10 '^not ok\b' qa-buster.log
    # Failure is just a warning
    allow_failure: true

# Run tests in stretch (this lets us assert that the test script
# is syntactically valid in Python 3.5). Ignore any pyflakes, shellcheck,
# etc. warnings because these older versions are probably less good at
# avoiding false positives.
test:stretch:
    stage: test
    image: docker.internal.steamos.cloud/steamos/package-builder:stretch
    script: make check TESTS_ONLY=true

# The same, but for brewmaster and Python 3.4
test:brewmaster:
    stage: test
    image: docker.internal.steamos.cloud/steamos/package-builder:brewmaster
    script: make check TESTS_ONLY=true