# Configuration for Gitlab-CI.
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
# It needs to be regenerated every time a defconfig is added, using
# "make .gitlab-ci.yml".

image: buildroot/base:20180205.0730

.defconfig_script: &defconfig_script
    - echo 'Configure Buildroot'
    - make ${CI_JOB_NAME}
    - echo 'Build buildroot'
    - |
        make > >(tee build.log |grep '>>>') 2>&1 || {
            echo 'Failed build last output'
            tail -200 build.log
            exit 1
        }

check-gitlab-ci.yml:
    script:
        - mv .gitlab-ci.yml .gitlab-ci.yml.orig
        - make .gitlab-ci.yml
        - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml

check-DEVELOPERS:
    # get-developers should print just "No action specified"; if it prints
    # anything else, it's a parse error.
    # The initial ! is removed by YAML so we need to quote it.
    script:
        - "! utils/get-developers | grep -v 'No action specified'"

check-package:
    script:
        - find . -type f \( -name '*.mk' -o -name '*.hash' \) -exec ./utils/check-package {} +

.defconfig: &defconfig
    # Running the defconfigs for every push is too much, so limit to
    # explicit triggers through the API.
    only:
        - triggers
        - tags
    script: *defconfig_script
    artifacts:
        when: always
        expire_in: 2 weeks
        paths:
            - build.log
            - output/images/
            - output/build/build-time.log
            - output/build/packages-file-list.txt

.runtime_test: &runtime_test
    # Keep build directories so the rootfs can be an artifact of the job. The
    # runner will clean up those files for us.
    # Multiply every emulator timeout by 10 to avoid sporadic failures in
    # elastic runners.
    script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME}
    artifacts:
        when: always
        expire_in: 2 weeks
        paths:
            - test-output/*.log
            - test-output/*/.config
            - test-output/*/images/*
