| # Base configuration for linux builds and tests. | 
 | .common:linux:cross: | 
 |   image: ubuntu:20.04 | 
 |   variables: | 
 |     EIGEN_CI_TARGET_ARCH: "" | 
 |     EIGEN_CI_ADDITIONAL_ARGS: "" | 
 |     # If host matches target, use the following: | 
 |     EIGEN_CI_C_COMPILER: "" | 
 |     EIGEN_CI_CXX_COMPILER: "" | 
 |     EIGEN_CI_INSTALL: "${EIGEN_CI_C_COMPILER} ${EIGEN_CI_CXX_COMPILER}" | 
 |     # If host does not match the target, use the following: | 
 |     EIGEN_CI_CROSS_TARGET_TRIPLE: "" | 
 |     EIGEN_CI_CROSS_C_COMPILER: ${EIGEN_CI_C_COMPILER} | 
 |     EIGEN_CI_CROSS_CXX_COMPILER: ${EIGEN_CI_CXX_COMPILER} | 
 |     EIGEN_CI_CROSS_INSTALL: "${EIGEN_CI_CROSS_C_COMPILER} ${EIGEN_CI_CROSS_CXX_COMPILER}" | 
 |   before_script: | 
 |     # Call script in current shell - it sets up some environment variables. | 
 |     - . ci/scripts/common.linux.before_script.sh | 
 |   artifacts: | 
 |     name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG" | 
 |     paths: | 
 |       - ${EIGEN_CI_BUILDDIR}/ | 
 |     expire_in: 5 days | 
 |  | 
 | # Base configuration for Windows builds and tests. | 
 | .common:windows: | 
 |   variables: | 
 |     EIGEN_CI_MSVC_ARCH: x64 | 
 |     EIGEN_CI_MSVC_VER: "14.29" | 
 |     EIGEN_CI_ADDITIONAL_ARGS: "" | 
 |     EIGEN_CI_BEFORE_SCRIPT: "" | 
 |   before_script: | 
 |      - . ci/scripts/common.windows.before_script.ps1 | 
 |   artifacts: | 
 |     name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_NAME" | 
 |     paths: | 
 |       - ${EIGEN_CI_BUILDDIR}/ | 
 |     expire_in: 5 days |