include:
    # Metadata shared my many jobs
    - local: .gitlab/rules.yml
    - local: .gitlab/artifacts.yml

    # OS builds.
    - local: .gitlab/os-linux.yml
    - local: .gitlab/os-macos.yml
    - local: .gitlab/os-windows.yml

    # Post-build steps
    - local: .gitlab/upload.yml

stages:
    - prep
    - build
    - test
    - test-ext
    - upload

################################################################################
# Job declarations
#
# Each job must pull in each of the following keys:
#
#   - a "base image"
#   - a build script
#   - tags for the jobs
#   - rules for when to run the job
#
# Additionally, jobs may also contain:
#
#   - artifacts
#   - dependency/needs jobs for required jobs
################################################################################

# Prep jobs

prep:source-package:
    extends:
        - .linux_prep_source
        - .cmake_prep_source_linux
        - .linux_builder_tags
        - .cmake_release_artifacts
        - .run_only_for_package

prep:doc-package:
    extends:
        - .fedora31_sphinx_package
        - .cmake_prep_doc_linux
        - .linux_builder_tags_qt
        - .cmake_doc_artifacts
        - .run_only_for_package

.upload:source-package:
    extends:
        - .rsync_upload
        - .run_only_for_package
    dependencies:
        - prep:source-package
    needs:
        - prep:source-package
    variables:
        RSYNC_DESTINATION: dev

# Lint builds

build:debian10-iwyu:
    extends:
        - .debian10_iwyu
        - .cmake_build_linux
        - .linux_builder_tags
        - .run_automatically

build:fedora31-tidy:
    extends:
        - .fedora31_tidy
        - .cmake_build_linux
        - .linux_builder_tags_qt
        - .run_automatically

build:fedora31-sphinx:
    extends:
        - .fedora31_sphinx
        - .cmake_build_linux
        - .linux_builder_tags_qt
        - .run_automatically
    variables:
        CMAKE_CI_JOB_CONTINUOUS: "true"
        CMAKE_CI_JOB_HELP: "true"

# Linux builds

build:centos6-release:
    extends:
        - .release_linux
        - .cmake_build_release_linux
        - .cmake_release_artifacts
        - .linux_builder_tags
        - .run_manually

test:debian10-ninja:
    extends:
        - .debian10_ninja
        - .cmake_test_linux_package
        - .linux_builder_tags_qt
        - .run_dependent
    dependencies:
        - build:centos6-release
    needs:
        - build:centos6-release

test:fedora31-makefiles:
    extends:
        - .fedora31_makefiles
        - .cmake_test_linux_package
        - .linux_builder_tags_qt
        - .run_dependent
    dependencies:
        - build:centos6-release
    needs:
        - build:centos6-release

test:cuda10.2-nvidia:
    extends:
        - .cuda10.2_nvidia
        - .cmake_test_linux_package
        - .linux_builder_tags_cuda
        - .run_dependent
    dependencies:
        - build:centos6-release
    needs:
        - build:centos6-release

build:fedora31-ninja:
    extends:
        - .fedora31_ninja
        - .cmake_build_linux
        - .cmake_build_artifacts
        - .linux_builder_tags_qt
        - .run_manually

test:fedora31-ninja:
    extends:
        - .fedora31_ninja
        - .cmake_test_linux
        - .linux_builder_tags_x11
        - .cmake_test_artifacts
        - .run_dependent
    dependencies:
        - build:fedora31-ninja
    needs:
        - build:fedora31-ninja

test:fedora31-ninja-multi:
    extends:
        - .fedora31_ninja_multi
        - .cmake_test_linux_external
        - .linux_builder_tags_qt
        - .run_dependent
    dependencies:
        - test:fedora31-ninja
    needs:
        - test:fedora31-ninja

build:linux-x86_64-package:
    extends:
        - .linux_package_x86_64
        - .cmake_build_linux_package
        - .cmake_release_artifacts
        - .linux_builder_tags
        - .run_only_for_package
    dependencies:
        - prep:doc-package
    needs:
        - prep:doc-package

.upload:linux-x86_64-package:
    extends:
        - .rsync_upload
        - .run_only_for_package
    dependencies:
        - build:linux-x86_64-package
    needs:
        - build:linux-x86_64-package
    variables:
        RSYNC_DESTINATION: dev

# macOS builds

build:macos-ninja:
    extends:
        - .macos_ninja
        - .cmake_build_macos
        - .cmake_build_artifacts
        - .macos_builder_tags
        - .run_manually

test:macos-ninja:
    extends:
        - .macos_ninja
        - .cmake_test_macos
        - .cmake_test_artifacts
        - .macos_builder_tags
        - .run_dependent
    dependencies:
        - build:macos-ninja
    needs:
        - build:macos-ninja

build:macos-makefiles:
    extends:
        - .macos_makefiles
        - .cmake_build_macos
        - .cmake_build_artifacts
        - .macos_builder_tags
        - .run_manually

test:macos-makefiles:
    extends:
        - .macos_makefiles
        - .cmake_test_macos
        - .macos_builder_tags
        - .run_dependent
    dependencies:
        - build:macos-makefiles
    needs:
        - build:macos-makefiles

test:macos-xcode:
    extends:
        - .macos_xcode
        - .cmake_test_macos_external
        - .macos_builder_ext_tags
        - .run_dependent
    dependencies:
        - test:macos-ninja
    needs:
        - test:macos-ninja

build:macos-package:
    extends:
        - .macos_package
        - .cmake_build_macos_package
        - .cmake_release_artifacts
        - .macos_builder_tags_package
        - .run_only_for_package
    dependencies:
        - prep:doc-package
    needs:
        - prep:doc-package

.upload:macos-package:
    extends:
        - .rsync_upload
        - .run_only_for_package
    dependencies:
        - build:macos-package
    needs:
        - build:macos-package
    variables:
        RSYNC_DESTINATION: dev

# Windows builds

build:windows-vs2019-x64-ninja:
    extends:
        - .windows_vs2019_x64_ninja
        - .cmake_build_windows
        - .cmake_build_artifacts
        - .windows_builder_tags
        - .run_manually

test:windows-vs2019-x64-ninja:
    extends:
        - .windows_vs2019_x64_ninja
        - .cmake_test_windows
        - .windows_builder_tags
        - .cmake_test_artifacts
        - .run_dependent
    dependencies:
        - build:windows-vs2019-x64-ninja
    needs:
        - build:windows-vs2019-x64-ninja

test:windows-vs2019-x64:
    extends:
        - .windows_vs2019_x64
        - .cmake_test_windows_external
        - .windows_builder_ext_tags
        - .run_dependent
    dependencies:
        - test:windows-vs2019-x64-ninja
    needs:
        - test:windows-vs2019-x64-ninja
