# This file is part of Eigen, a lightweight C++ template library
# for linear algebra.
#
# Copyright (C) 2023, The Eigen Authors
#
# This Source Code Form is subject to the terms of the Mozilla
# Public License v. 2.0. If a copy of the MPL was not distributed
# with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
# SPDX-License-Identifier: MPL-2.0

default:
  interruptible: true

# For MR pipelines, auto-cancel running jobs when new commits are pushed.
# For scheduled (weekly) pipelines, never auto-cancel so all jobs run to
# completion and all failures are visible for debugging.
workflow:
  auto_cancel:
    on_new_commit: interruptible
    on_job_failure: none
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule"
      auto_cancel:
        on_new_commit: none
    - when: always

stages:
  - checkformat
  - select
  - build
  - test
  - benchmark
  - deploy

variables:
  # Pre-baked CI images hosted in the GitLab container registry.
  # Override in project/fork settings if you host the images elsewhere.
  # See ci/docker/ for the corresponding Dockerfiles.
  # Slim images used for MR smoke tests (gcc-10 + clang-14).
  # Builds are cross-compiled on arm64; tests run on their native runner.
  EIGEN_CI_IMAGE_LINUX_AMD64_SMOKETEST_BUILD: "registry.gitlab.com/libeigen/eigen/ubuntu-24.04-amd64-smoketest-build:latest"
  EIGEN_CI_IMAGE_LINUX_AMD64_SMOKETEST_RUN: "registry.gitlab.com/libeigen/eigen/ubuntu-24.04-amd64-smoketest-run:latest"
  EIGEN_CI_IMAGE_LINUX_ARM64_SMOKETEST_BUILD: "registry.gitlab.com/libeigen/eigen/ubuntu-24.04-arm64-smoketest-build:latest"
  EIGEN_CI_IMAGE_LINUX_ARM64_SMOKETEST_RUN: "registry.gitlab.com/libeigen/eigen/ubuntu-24.04-arm64-smoketest-run:latest"
  EIGEN_CI_IMAGE_LINUX_RISCV64_SMOKETEST_BUILD: "registry.gitlab.com/libeigen/eigen/ubuntu-26.04-riscv64-smoketest-build:latest"
  EIGEN_CI_IMAGE_LINUX_RISCV64_SMOKETEST_RUN: "registry.gitlab.com/libeigen/eigen/ubuntu-26.04-riscv64-smoketest-run:latest"
  # CMake build directory.
  EIGEN_CI_BUILDDIR: .build
  # Specify the CMake build target.
  EIGEN_CI_BUILD_TARGET: ""
  # If a test regex is specified, that will be selected.
  # Otherwise, we will try a label if specified.
  EIGEN_CI_CTEST_REGEX: ""
  # Valid CTest labels: Official, Unsupported, gpu, smoketest.
  EIGEN_CI_CTEST_LABEL: ""
  EIGEN_CI_CTEST_ARGS: ""
  # Affected-test tier: paths to the selection written by the select:tests job.
  # Unset for every other job, which keeps their existing behaviour.
  EIGEN_CI_BUILD_TARGET_FILE: ""
  EIGEN_CI_CTEST_REGEX_FILE: ""

include:
  - "/ci/checkformat.gitlab-ci.yml"
  - "/ci/common.gitlab-ci.yml"
  - "/ci/images.gitlab-ci.yml"
  - "/ci/select.gitlab-ci.yml"
  - "/ci/build.linux.gitlab-ci.yml"
  - "/ci/build.windows.gitlab-ci.yml"
  - "/ci/test.linux.gitlab-ci.yml"
  - "/ci/test.windows.gitlab-ci.yml"
  - "/ci/benchmark.gitlab-ci.yml"
  - "/ci/deploy.gitlab-ci.yml"
