variables:
  FDO_UPSTREAM_REPO: mesa/mesa
  MESA_TEMPLATES_COMMIT: &ci-templates-commit 290b79e0e78eab67a83766f4e9691be554fc4afd
  CI_PRE_CLONE_SCRIPT: |-
          set -o xtrace
          /usr/bin/wget -q -O- ${CI_PROJECT_URL}/-/raw/${CI_COMMIT_SHA}/.gitlab-ci/download-git-cache.sh | bash -
          set +o xtrace
  MINIO_HOST: minio-packet.freedesktop.org
  # per-pipeline artifact storage on MinIO
  PIPELINE_ARTIFACTS_BASE: ${MINIO_HOST}/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}
  # per-job artifact storage on MinIO
  JOB_ARTIFACTS_BASE: ${PIPELINE_ARTIFACTS_BASE}/${CI_JOB_ID}
  # reference images stored for traces
  PIGLIT_REPLAY_REFERENCE_IMAGES_BASE: "${MINIO_HOST}/mesa-tracie-results/$FDO_UPSTREAM_REPO"
  # Individual CI farm status, set to "offline" to disable jobs
  # running on a particular CI farm (ie. for outages, etc):
  FD_FARM: "online"

include:
  - project: 'freedesktop/ci-templates'
    ref: 79c325922670137e8f0a4dc5f6f097e0eb57c1af
    file:
      - '/templates/ci-fairy.yml'
  - project: 'freedesktop/ci-templates'
    ref: *ci-templates-commit
    file:
      - '/templates/debian.yml'
      - '/templates/fedora.yml'
  - local: '.gitlab-ci/lava/lava-gitlab-ci.yml'
  - local: '.gitlab-ci/test-source-dep.yml'
  - local: 'src/amd/ci/gitlab-ci.yml'
  - local: 'src/broadcom/ci/gitlab-ci.yml'
  - local: 'src/etnaviv/ci/gitlab-ci.yml'
  - local: 'src/freedreno/ci/gitlab-ci.yml'
  - local: 'src/gallium/drivers/i915/ci/gitlab-ci.yml'
  - local: 'src/gallium/drivers/iris/ci/gitlab-ci.yml'
  - local: 'src/gallium/drivers/lima/ci/gitlab-ci.yml'
  - local: 'src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml'
  - local: 'src/gallium/drivers/radeonsi/ci/gitlab-ci.yml'
  - local: 'src/gallium/drivers/softpipe/ci/gitlab-ci.yml'
  - local: 'src/gallium/drivers/virgl/ci/gitlab-ci.yml'
  - local: 'src/gallium/drivers/zink/ci/gitlab-ci.yml'
  - local: 'src/gallium/frontends/lavapipe/ci/gitlab-ci.yml'
  - local: 'src/panfrost/ci/gitlab-ci.yml'

stages:
  - sanity
  - container
  - git-archive
  - build-x86_64
  - build-misc
  - amd
  - intel
  - arm
  - broadcom
  - freedreno
  - etnaviv
  - software-renderer
  - layered-backends
  - deploy

# Generic rule to not run the job during scheduled pipelines
# ----------------------------------------------------------
.scheduled_pipelines-rules:
  rules: &ignore_scheduled_pipelines
    if: &is-scheduled-pipeline '$CI_PIPELINE_SOURCE == "schedule"'
    when: never

# YAML anchors for rule conditions
# --------------------------------
.rules-anchors:
  rules:
    # For Marge Bot
    - if: &is-for-marge '$GITLAB_USER_LOGIN == "marge-bot"'
      when: never
    # Forked project branch
    - if: &is-forked-branch '$CI_PROJECT_NAMESPACE != "mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
      when: manual
    # Forked project branch / pre-merge pipeline not for Marge bot
    - if: &is-forked-branch-or-pre-merge-not-for-marge '$CI_PROJECT_NAMESPACE != "mesa" || ($GITLAB_USER_LOGIN != "marge-bot" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME)'
      when: manual
    # Pipeline runs for the main branch of the upstream Mesa project
    - if: &is-mesa-main '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_DEFAULT_BRANCH'
      when: always
    # Post-merge pipeline
    - if: &is-post-merge '$CI_PROJECT_NAMESPACE == "mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
      when: on_success
    # Post-merge pipeline, not for Marge Bot
    - if: &is-post-merge-not-for-marge '$CI_PROJECT_NAMESPACE == "mesa" && $GITLAB_USER_LOGIN != "marge-bot" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
      when: on_success
    # Pre-merge pipeline
    - if: &is-pre-merge '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
      when: on_success
    # Pre-merge pipeline for Marge Bot
    - if: &is-pre-merge-for-marge '$GITLAB_USER_LOGIN == "marge-bot" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
      when: on_success


.docs-base:
  extends:
    - .fdo.ci-fairy
    - .ci-run-policy
  script:
  - apk --no-cache add graphviz doxygen
  - pip3 install "sphinx<4.0" breathe mako sphinx_rtd_theme
  - docs/doxygen-wrapper.py --out-dir=docs/doxygen_xml
  - sphinx-build -W -b html docs public

pages:
  extends: .docs-base
  stage: deploy
  artifacts:
    paths:
    - public
  needs: []
  rules:
    - *ignore_scheduled_pipelines
    - if: *is-mesa-main
      changes: &docs-or-ci
      - docs/**/*
      - .gitlab-ci.yml
      when: always
    # Other cases default to never

test-docs:
  extends: .docs-base
  # Cancel job if a newer commit is pushed to the same branch
  interruptible: true
  stage: deploy
  needs: []
  rules:
    - *ignore_scheduled_pipelines
    - if: *is-forked-branch
      changes: *docs-or-ci
      when: manual
    # Other cases default to never

test-docs-mr:
  extends:
    - test-docs
  needs:
    - sanity
  artifacts:
    expose_as: 'Documentation preview'
    paths:
    - public/
  rules:
    - if: *is-pre-merge
      changes: *docs-or-ci
      when: on_success
    # Other cases default to never

# When to automatically run the CI
.ci-run-policy:
  rules:
    - *ignore_scheduled_pipelines
    # If any files affecting the pipeline are changed, build/test jobs run
    # automatically once all dependency jobs have passed
    - changes: &all_paths
      - VERSION
      - bin/git_sha1_gen.py
      - bin/install_megadrivers.py
      - bin/meson_get_version.py
      - bin/symbols-check.py
      # GitLab CI
      - .gitlab-ci.yml
      - .gitlab-ci/**/*
      # Meson
      - meson*
      - build-support/**/*
      - subprojects/**/*
      # Source code
      - include/**/*
      - src/**/*
      when: on_success
    # Otherwise, build/test jobs won't run
    - when: never
  retry:
    max: 2
    when:
      - runner_system_failure


.ci-deqp-artifacts:
  artifacts:
    name: "mesa_${CI_JOB_NAME}"
    when: always
    untracked: false
    paths:
      # Watch out!  Artifacts are relative to the build dir.
      # https://gitlab.com/gitlab-org/gitlab-ce/commit/8788fb925706cad594adf6917a6c5f6587dd1521
      - artifacts
      - _build/meson-logs/*.txt
      - _build/meson-logs/strace


# Docker image tag helper templates

.incorporate-templates-commit:
  variables:
    FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_TEMPLATES_COMMIT}"

.incorporate-base-tag+templates-commit:
  variables:
    FDO_BASE_IMAGE: "${CI_REGISTRY_IMAGE}/${MESA_BASE_IMAGE}:${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"
    FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"

.set-image:
  extends:
    - .incorporate-templates-commit
  variables:
    MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${FDO_DISTRIBUTION_TAG}"
  image: "$MESA_IMAGE"

.set-image-base-tag:
  extends:
    - .set-image
    - .incorporate-base-tag+templates-commit
  variables:
    MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${FDO_DISTRIBUTION_TAG}"


# Build the CI docker images.
#
# MESA_IMAGE_TAG is the tag of the docker image used by later stage jobs. If the
# image doesn't exist yet, the container stage job generates it.
#
# In order to generate a new image, one should generally change the tag.
# While removing the image from the registry would also work, that's not
# recommended except for ephemeral images during development: Replacing
# an image after a significant amount of time might pull in newer
# versions of gcc/clang or other packages, which might break the build
# with older commits using the same tag.
#
# After merging a change resulting in generating a new image to the
# main repository, it's recommended to remove the image from the source
# repository's container registry, so that the image from the main
# repository's registry will be used there as well.

.container:
  stage: container
  extends:
    - .ci-run-policy
    - .incorporate-templates-commit
  rules:
    - *ignore_scheduled_pipelines
    # Run pipeline by default in the main project if any CI pipeline
    # configuration files were changed, to ensure docker images are up to date
    - if: *is-post-merge
      changes:
      - .gitlab-ci.yml
      - .gitlab-ci/**/*
      when: on_success
    # Run pipeline by default if it was triggered by Marge Bot, is for a
    # merge request, and any files affecting the pipeline were changed
    - if: *is-pre-merge-for-marge
      changes:
        *all_paths
      when: on_success
    # Run pipeline by default in the main project if it was not triggered by
    # Marge Bot, and any files affecting the pipeline were changed
    - if: *is-post-merge-not-for-marge
      changes:
        *all_paths
      when: on_success
    # Allow triggering jobs manually in other cases if any files affecting the
    # pipeline were changed
    - changes:
        *all_paths
      when: manual
    # Otherwise, container jobs won't run
    - when: never
  variables:
    FDO_DISTRIBUTION_VERSION: bullseye-slim
    FDO_REPO_SUFFIX: $CI_JOB_NAME
    FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
    # no need to pull the whole repo to build the container image
    GIT_STRATEGY: none

.use-base-image:
  extends:
    - .container
    - .incorporate-base-tag+templates-commit
    # Don't want the .container rules
    - .ci-run-policy

# Debian 11 based x86 build image base
debian/x86_build-base:
  extends:
    - .fdo.container-build@debian
    - .container
  variables:
    MESA_IMAGE_TAG: &debian-x86_build-base "2021-07-26-python"

.use-debian/x86_build-base:
  extends:
    - .fdo.container-build@debian
    - .use-base-image
  variables:
    MESA_BASE_IMAGE: "debian/x86_build-base"
    MESA_BASE_TAG: *debian-x86_build-base
    MESA_ARTIFACTS_BASE_TAG: *debian-x86_build-base
  needs:
    - debian/x86_build-base

# Debian 11 based x86 main build image
debian/x86_build:
  extends:
    - .use-debian/x86_build-base
  variables:
    MESA_IMAGE_TAG: &debian-x86_build "2021-07-02-bump-libdrm"

.use-debian/x86_build:
  extends:
    - .set-image-base-tag
  variables:
    MESA_BASE_TAG: *debian-x86_build-base
    MESA_IMAGE_PATH: "debian/x86_build"
    MESA_IMAGE_TAG: *debian-x86_build
  needs:
    - debian/x86_build

# Debian 11 based i386 cross-build image
debian/i386_build:
  extends:
    - .use-debian/x86_build-base
  variables:
    MESA_IMAGE_TAG: &debian-i386_build "2021-07-02-bump-libdrm"

.use-debian/i386_build:
  extends:
    - .set-image-base-tag
  variables:
    MESA_BASE_TAG: *debian-x86_build-base
    MESA_IMAGE_PATH: "debian/i386_build"
    MESA_IMAGE_TAG: *debian-i386_build
  needs:
    - debian/i386_build

# Debian 11 based ppc64el cross-build image
debian/ppc64el_build:
  extends:
    - .use-debian/x86_build-base
  variables:
    MESA_IMAGE_TAG: &debian-ppc64el_build "2021-07-02-bump-libdrm"

.use-debian/ppc64el_build:
  extends:
    - .set-image-base-tag
  variables:
    MESA_BASE_TAG: *debian-x86_build-base
    MESA_IMAGE_PATH: "debian/ppc64el_build"
    MESA_IMAGE_TAG: *debian-ppc64el_build
  needs:
    - debian/ppc64el_build

# Debian 11 based s390x cross-build image
debian/s390x_build:
  extends:
    - .use-debian/x86_build-base
  variables:
    MESA_IMAGE_TAG: &debian-s390x_build "2021-07-02-bump-libdrm"

.use-debian/s390x_build:
  extends:
    - .set-image-base-tag
  variables:
    MESA_BASE_TAG: *debian-x86_build-base
    MESA_IMAGE_PATH: "debian/s390x_build"
    MESA_IMAGE_TAG: *debian-s390x_build
  needs:
    - debian/s390x_build

# Android NDK cross-build image
debian/android_build:
  extends:
    - .use-debian/x86_build-base
  variables:
    MESA_IMAGE_TAG: &debian-android_build "2021-10-26-static-libstdcxx"

.use-debian/android_build:
  extends:
    - .set-image-base-tag
  variables:
    MESA_BASE_TAG: *debian-x86_build-base
    MESA_IMAGE_PATH: "debian/android_build"
    MESA_IMAGE_TAG: *debian-android_build
  needs:
    - debian/android_build

# Debian 11 based x86 test image base
debian/x86_test-base:
  extends: debian/x86_build-base
  variables:
    MESA_IMAGE_TAG: &debian-x86_test-base "2021-10-15-va"

.use-debian/x86_test-base:
  extends:
    - .fdo.container-build@debian
    - .use-base-image
  variables:
    MESA_BASE_IMAGE: "debian/x86_test-base"
    MESA_BASE_TAG: *debian-x86_test-base
  needs:
    - debian/x86_test-base

# Debian 11 based x86 test image for GL
debian/x86_test-gl:
  extends: .use-debian/x86_test-base
  variables:
    FDO_DISTRIBUTION_EXEC: 'env KERNEL_URL=${KERNEL_URL} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
    KERNEL_URL: &kernel-rootfs-url "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.15-for-mesa-ci-540a4af22d71/linux-v5.15-for-mesa-ci-540a4af22d71.tar.bz2"
    MESA_IMAGE_TAG: &debian-x86_test-gl "2021-11-02-lazor"

# Debian 11 based x86 test image for VK
debian/x86_test-vk:
  extends: .use-debian/x86_test-base
  variables:
    MESA_IMAGE_TAG: &debian-x86_test-vk "2021-2021-10-15-va"

# Debian 11 based ARM build image
debian/arm_build:
  extends:
    - .fdo.container-build@debian
    - .container
  tags:
    - aarch64
  variables:
    MESA_IMAGE_TAG: &debian-arm_build "2021-07-26-python"

.use-debian/arm_build:
  extends:
    - .set-image
  variables:
    MESA_IMAGE_PATH: "debian/arm_build"
    MESA_IMAGE_TAG: *debian-arm_build
    MESA_ARTIFACTS_TAG: *debian-arm_build
  needs:
    - debian/arm_build


# Fedora 34 based x86 build image
fedora/x86_build:
  extends:
    - .fdo.container-build@fedora
    - .container
  variables:
    FDO_DISTRIBUTION_VERSION: 34
    MESA_IMAGE_TAG: &fedora-x86_build "2021-07-08-bump-libdrm"

.use-fedora/x86_build:
  extends:
    - .set-image
  variables:
    MESA_IMAGE_PATH: "fedora/x86_build"
    MESA_IMAGE_TAG: *fedora-x86_build
  needs:
    - fedora/x86_build


.kernel+rootfs:
  extends:
    - .ci-run-policy
  stage: container
  variables:
    GIT_STRATEGY: fetch
    KERNEL_URL: *kernel-rootfs-url
    MESA_ROOTFS_TAG: &kernel-rootfs "2021-11-02-lazor"
    DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${MESA_ARTIFACTS_TAG}--${MESA_TEMPLATES_COMMIT}"
  script:
    - .gitlab-ci/container/lava_build.sh

kernel+rootfs_amd64:
  extends:
    - .use-debian/x86_build-base
    - .kernel+rootfs
  image: "$FDO_BASE_IMAGE"
  variables:
    DEBIAN_ARCH: "amd64"
    DISTRIBUTION_TAG: &distribution-tag-amd64 "${MESA_ROOTFS_TAG}--${MESA_ARTIFACTS_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"

kernel+rootfs_arm64:
  extends:
    - .use-debian/arm_build
    - .kernel+rootfs
  tags:
    - aarch64
  variables:
    DEBIAN_ARCH: "arm64"

kernel+rootfs_armhf:
  extends:
    - kernel+rootfs_arm64
  variables:
    DEBIAN_ARCH: "armhf"

# Cannot use anchors defined here from included files, so use extends: instead
.use-kernel+rootfs-arm:
  variables:
    DISTRIBUTION_TAG: *distribution-tag-arm
    MESA_ROOTFS_TAG: *kernel-rootfs

.use-kernel+rootfs-amd64:
  variables:
    DISTRIBUTION_TAG: *distribution-tag-amd64
    MESA_ROOTFS_TAG: *kernel-rootfs

# x86 image with ARM64 & armhf kernel & rootfs for baremetal testing
debian/arm_test:
  extends:
    - .fdo.container-build@debian
    - .container
    # Don't want the .container rules
    - .ci-run-policy
  needs:
    - kernel+rootfs_arm64
    - kernel+rootfs_armhf
  variables:
    FDO_DISTRIBUTION_EXEC: 'env ARTIFACTS_PREFIX=https://${MINIO_HOST}/mesa-lava ARTIFACTS_SUFFIX=${MESA_ROOTFS_TAG}--${MESA_ARM_BUILD_TAG}--${MESA_TEMPLATES_COMMIT} CI_PROJECT_PATH=${CI_PROJECT_PATH} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} FDO_UPSTREAM_REPO=${FDO_UPSTREAM_REPO} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
    FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_ROOTFS_TAG}--${MESA_ARM_BUILD_TAG}--${MESA_TEMPLATES_COMMIT}"
    MESA_ARM_BUILD_TAG: *debian-arm_build
    MESA_IMAGE_TAG: &debian-arm_test "2021-09-17-deqp"
    MESA_ROOTFS_TAG: *kernel-rootfs

.use-debian/arm_test:
  image: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${MESA_ROOTFS_TAG}--${MESA_ARM_BUILD_TAG}--${MESA_TEMPLATES_COMMIT}"
  variables:
    MESA_ARM_BUILD_TAG: *debian-arm_build
    MESA_IMAGE_PATH: "debian/arm_test"
    MESA_IMAGE_TAG: *debian-arm_test
    MESA_ROOTFS_TAG: *kernel-rootfs
  needs:
    - debian/arm_test

# Native Windows docker builds
#
# Unlike the above Linux-based builds - including MinGW builds which
# cross-compile for Windows - which use the freedesktop ci-templates, we
# cannot use the same scheme here. As Windows lacks support for
# Docker-in-Docker, and Podman does not run natively on Windows, we have
# to open-code much of the same ourselves.
#
# This is achieved by first running in a native Windows shell instance
# (host PowerShell) in the container stage to build and push the image,
# then in the build stage by executing inside Docker.

.windows-docker-vs2019:
  extends:
    - .set-image
  variables:
    MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}"
    MESA_IMAGE_PATH: "windows/x64_build"
    MESA_IMAGE_TAG: "2021-06-24-zink-msvc"
    MESA_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MESA_IMAGE_PATH:${MESA_IMAGE_TAG}"

windows_build_vs2019:
  extends:
    - .container
    - .windows-docker-vs2019
  stage: container
  variables:
    GIT_STRATEGY: fetch # we do actually need the full repository though
  timeout: 2h 30m # LLVM + piglit takes ages
  tags:
    - windows
    - shell
    - "1809"
    - mesa
  script:
    - .\.gitlab-ci\windows\mesa_container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $MESA_IMAGE $MESA_UPSTREAM_IMAGE

.use-windows_build_vs2019:
  extends: .windows-docker-vs2019
  image: "$MESA_IMAGE"
  needs:
    - windows_build_vs2019


# Git archive

make git archive:
  extends:
    - .fdo.ci-fairy
  stage: git-archive
  rules:
    - if: *is-scheduled-pipeline
      when: on_success
  # ensure we are running on packet
  tags:
    - packet.net
  script:
    # Compactify the .git directory
    - git gc --aggressive
    # compress the current folder
    - tar -cvzf ../$CI_PROJECT_NAME.tar.gz .

    # login with the JWT token
    - ci-fairy minio login $CI_JOB_JWT
    - ci-fairy minio cp ../$CI_PROJECT_NAME.tar.gz minio://$MINIO_HOST/git-cache/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME.tar.gz


# Sanity checks of MR settings and commit logs
sanity:
  extends:
    - .fdo.ci-fairy
  stage: sanity
  rules:
    - if: *is-pre-merge
      when: on_success
    # Other cases default to never
  variables:
    GIT_STRATEGY: none
  script:
    # ci-fairy check-commits --junit-xml=check-commits.xml
    - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request.xml
  artifacts:
    when: on_failure
    reports:
      junit: check-*.xml


# BUILD

# Shared between windows and Linux
.build-common:
  extends: .ci-run-policy
  # Cancel job if a newer commit is pushed to the same branch
  interruptible: true
  artifacts:
    name: "mesa_${CI_JOB_NAME}"
    when: always
    paths:
      - _build/meson-logs/*.txt
      - _build/meson-logs/strace
      - shader-db

# Just Linux
.build-linux:
  extends: .build-common
  variables:
    CCACHE_COMPILERCHECK: "content"
    CCACHE_COMPRESS: "true"
    CCACHE_DIR: /cache/mesa/ccache
  # Use ccache transparently, and print stats before/after
  before_script:
    - export PATH="/usr/lib/ccache:$PATH"
    - export CCACHE_BASEDIR="$PWD"
    - ccache --show-stats
  after_script:
    - ccache --show-stats

.build-windows:
  extends: .build-common
  tags:
    - windows
    - docker
    - "1809"
    - mesa
  cache:
    key: ${CI_JOB_NAME}
    paths:
      - subprojects/packagecache

.meson-build:
  extends:
    - .build-linux
    - .use-debian/x86_build
  stage: build-x86_64
  variables:
    LLVM_VERSION: 11
  script:
    - .gitlab-ci/meson/build.sh

debian-testing:
  extends:
    - .meson-build
    - .ci-deqp-artifacts
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glx=dri
      -D gbm=enabled
      -D egl=enabled
      -D platforms=x11
    GALLIUM_ST: >
      -D dri3=enabled
      -D gallium-va=enabled
    GALLIUM_DRIVERS: "swrast,virgl,radeonsi,zink,iris,i915"
    VULKAN_DRIVERS: "swrast,amd"
    BUILDTYPE: "debugoptimized"
    EXTRA_OPTION: >
      -D valgrind=false
    MINIO_ARTIFACT_NAME: mesa-amd64
  script:
    - .gitlab-ci/meson/build.sh
    - .gitlab-ci/prepare-artifacts.sh

debian-testing-asan:
  extends:
    - debian-testing
  variables:
    C_ARGS: >
      -Wno-error=stringop-truncation
    EXTRA_OPTION: >
      -D b_sanitize=address
      -D valgrind=false
    MINIO_ARTIFACT_NAME: ""
    ARTIFACTS_DEBUG_SYMBOLS: 1

debian-clover-testing:
  extends:
    - .meson-build
    - .ci-deqp-artifacts
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glx=disabled
      -D egl=disabled
      -D gbm=disabled
    GALLIUM_ST: >
      -D gallium-opencl=icd
      -D opencl-spirv=true
    GALLIUM_DRIVERS: "swrast"
    BUILDTYPE: "debugoptimized"
    EXTRA_OPTION: >
      -D valgrind=false
  script:
    - .gitlab-ci/meson/build.sh
    - .gitlab-ci/prepare-artifacts.sh

debian-gallium:
  extends: .meson-build
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glx=dri
      -D gbm=enabled
      -D egl=enabled
      -D platforms=x11,wayland
    GALLIUM_ST: >
      -D dri3=enabled
      -D gallium-extra-hud=true
      -D gallium-vdpau=enabled
      -D gallium-xvmc=enabled
      -D gallium-omx=bellagio
      -D gallium-va=enabled
      -D gallium-xa=enabled
      -D gallium-nine=true
      -D gallium-opencl=disabled
    GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swr,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,asahi,crocus"
    VULKAN_DRIVERS: swrast
    EXTRA_OPTION: >
      -D osmesa=true
      -D tools=all
  script:
    - .gitlab-ci/meson/build.sh
    - .gitlab-ci/run-shader-db.sh

# Test a release build with -Werror so new warnings don't sneak in.
debian-release:
  extends: .meson-build
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glx=dri
      -D gbm=enabled
      -D egl=enabled
      -D platforms=x11,wayland
    GALLIUM_ST: >
      -D dri3=enabled
      -D gallium-extra-hud=true
      -D gallium-vdpau=enabled
      -D gallium-xvmc=disabled
      -D gallium-omx=disabled
      -D gallium-va=enabled
      -D gallium-xa=enabled
      -D gallium-nine=false
      -D gallium-opencl=disabled
      -D llvm=false
    GALLIUM_DRIVERS: "i915,iris,nouveau,kmsro,freedreno,r300,svga,swrast,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,crocus"
    VULKAN_DRIVERS: "amd"
    BUILDTYPE: "release"
    EXTRA_OPTION: >
      -D osmesa=true
      -D tools=all
  script:
    - .gitlab-ci/meson/build.sh

fedora-release:
  extends:
    - .meson-build
    - .use-fedora/x86_build
  variables:
    BUILDTYPE: "release"
    C_ARGS: >
      -Wno-error=array-bounds
      -Wno-error=maybe-uninitialized
      -Wno-error=stringop-overread
      -Wno-error=uninitialized
    CPP_ARGS: >
      -Wno-error=array-bounds
    DRI_DRIVERS: "nouveau,i915,i965,r100,r200"
    DRI_LOADERS: >
      -D glx=dri
      -D gbm=enabled
      -D egl=enabled
      -D glvnd=true
      -D platforms=x11,wayland
    EXTRA_OPTION: >
      -D osmesa=true
      -D selinux=true
      -D tools=drm-shim,etnaviv,freedreno,glsl,intel,nir,nouveau,lima,panfrost
    GALLIUM_DRIVERS: "crocus,etnaviv,freedreno,iris,kmsro,lima,nouveau,panfrost,r300,r600,radeonsi,svga,swrast,tegra,v3d,vc4,virgl,zink"
    GALLIUM_ST: >
      -D dri3=enabled
      -D gallium-extra-hud=true
      -D gallium-vdpau=enabled
      -D gallium-xvmc=disabled
      -D gallium-omx=disabled
      -D gallium-va=enabled
      -D gallium-xa=enabled
      -D gallium-nine=false
      -D gallium-opencl=icd
      -D gles1=disabled
      -D gles2=enabled
      -D llvm=enabled
      -D microsoft-clc=disabled
      -D shared-llvm=enabled
      -D vulkan-device-select-layer=true
    LLVM_VERSION: ""
    UNWIND: "disabled"
    VULKAN_DRIVERS: "amd,broadcom,freedreno,intel"
  script:
    - .gitlab-ci/meson/build.sh

debian-android:
  extends:
    - .meson-cross
    - .use-debian/android_build
  variables:
    UNWIND: "disabled"
    C_ARGS: >
      -Wno-error=absolute-value
      -Wno-error=asm-operand-widths
      -Wno-error=constant-conversion
      -Wno-error=enum-conversion
      -Wno-error=extern-initializer
      -Wno-error=initializer-overrides
      -Wno-error=missing-braces
      -Wno-error=sometimes-uninitialized
      -Wno-error=tautological-constant-out-of-range-compare
      -Wno-error=unused-function
      -Wno-error=unused-label
    CPP_ARGS: >
      -Wno-error=deprecated-declarations
      -Wno-error=non-virtual-dtor
    DRI_LOADERS: >
      -D glx=disabled
      -D gbm=disabled
      -D egl=enabled
      -D platforms=android
    EXTRA_OPTION: >
      -D android-stub=true
      -D llvm=disabled
      -D platform-sdk-version=29
      -D valgrind=false
    GALLIUM_ST: >
      -D dri3=disabled
      -D gallium-vdpau=disabled
      -D gallium-xvmc=disabled
      -D gallium-omx=disabled
      -D gallium-va=disabled
      -D gallium-xa=disabled
      -D gallium-nine=false
      -D gallium-opencl=disabled
    LLVM_VERSION: ""
    PKG_CONFIG_LIBDIR: "/disable/non/android/system/pc/files"
  script:
    - PKG_CONFIG_PATH=/usr/local/lib/aarch64-linux-android/pkgconfig/:/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/pkgconfig/ CROSS=aarch64-linux-android GALLIUM_DRIVERS=etnaviv,freedreno,lima,panfrost,vc4,v3d VULKAN_DRIVERS=freedreno,broadcom,virtio-experimental .gitlab-ci/meson/build.sh
    # x86_64 build:
    # Can't do Intel because gen_decoder.c currently requires libexpat, which
    # is not a dependency that AOSP wants to accept.  Can't do Radeon because
    # it requires LLVM, which we don't have an Android build of.
    - PKG_CONFIG_PATH=/usr/local/lib/x86_64-linux-android/pkgconfig/:/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/pkgconfig/ CROSS=x86_64-linux-android GALLIUM_DRIVERS=iris VULKAN_DRIVERS=intel .gitlab-ci/meson/build.sh

.meson-cross:
  extends:
    - .meson-build
  stage: build-misc
  variables:
    UNWIND: "disabled"
    DRI_LOADERS: >
      -D glx=dri
      -D gbm=enabled
      -D egl=enabled
      -D platforms=x11
      -D osmesa=false
    GALLIUM_ST: >
      -D dri3=enabled
      -D gallium-vdpau=disabled
      -D gallium-xvmc=disabled
      -D gallium-omx=disabled
      -D gallium-va=disabled
      -D gallium-xa=disabled
      -D gallium-nine=false

.meson-arm:
  extends:
    - .meson-cross
    - .use-debian/arm_build
  needs:
    - debian/arm_build
  variables:
    VULKAN_DRIVERS: freedreno,broadcom
    GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4"
    BUILDTYPE: "debugoptimized"
  tags:
    - aarch64

debian-armhf:
  extends:
    - .meson-arm
    - .ci-deqp-artifacts
  variables:
    CROSS: armhf
    EXTRA_OPTION: >
      -D llvm=disabled
      -D valgrind=false
    MINIO_ARTIFACT_NAME: mesa-armhf
  script:
    - .gitlab-ci/meson/build.sh
    - .gitlab-ci/prepare-artifacts.sh

debian-arm64:
  extends:
    - .meson-arm
    - .ci-deqp-artifacts
  variables:
    VULKAN_DRIVERS: "freedreno,broadcom,panfrost"
    EXTRA_OPTION: >
      -D llvm=disabled
      -D valgrind=false
    MINIO_ARTIFACT_NAME: mesa-arm64
  script:
    - .gitlab-ci/meson/build.sh
    - .gitlab-ci/prepare-artifacts.sh

debian-arm64-asan:
  extends:
    - debian-arm64
  variables:
    C_ARGS: >
      -Wno-error=stringop-truncation
    EXTRA_OPTION: >
      -D llvm=disabled
      -D b_sanitize=address
      -D valgrind=false
    ARTIFACTS_DEBUG_SYMBOLS: 1
    MINIO_ARTIFACT_NAME: mesa-arm64-asan
    MESON_TEST_ARGS: "--no-suite mesa:compiler"

debian-arm64-build-test:
  extends:
    - .meson-arm
    - .ci-deqp-artifacts
  variables:
    VULKAN_DRIVERS: "amd"
    EXTRA_OPTION: >
      -Dtools=panfrost
  script:
    - .gitlab-ci/meson/build.sh

debian-clang:
  extends: .meson-build
  variables:
    UNWIND: "enabled"
    C_ARGS: >
      -Wno-error=absolute-value
      -Wno-error=constant-conversion
      -Wno-error=constant-logical-operand
      -Wno-error=enum-conversion
      -Wno-error=gnu-variable-sized-type-not-at-end
      -Wno-error=implicit-const-int-float-conversion
      -Wno-error=initializer-overrides
      -Wno-error=misleading-indentation
      -Wno-error=mismatched-tags
      -Wno-error=missing-braces
      -Wno-error=overloaded-virtual
      -Wno-error=self-assign
      -Wno-error=sometimes-uninitialized
      -Wno-error=tautological-constant-compare
      -Wno-error=tautological-constant-out-of-range-compare
      -Wno-error=tautological-overlap-compare
      -Wno-error=typedef-redefinition
      -Wno-error=unused-function
      -Wno-error=unused-private-field
      -Wno-error=xor-used-as-pow
    CPP_ARGS: >
      -Wno-error=c99-designator
      -Wno-error=constant-logical-operand
      -Wno-error=deprecated-declarations
      -Wno-error=implicit-const-int-float-conversion
      -Wno-error=mismatched-tags
      -Wno-error=missing-braces
      -Wno-error=overloaded-virtual
      -Wno-error=self-assign
      -Wno-error=sometimes-uninitialized
      -Wno-error=tautological-constant-out-of-range-compare
      -Wno-error=unused-const-variable
      -Wno-error=unused-private-field
      -Wno-error=unused-value
      -Wno-error=unused-variable
    DRI_LOADERS: >
      -D glvnd=true
    DRI_DRIVERS: "auto"
    GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swr,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,radeonsi,tegra,d3d12,crocus"
    VULKAN_DRIVERS: intel,amd,freedreno,broadcom,virtio-experimental
    CC: clang
    CXX: clang++

windows-vs2019:
  extends:
    - .build-windows
    - .use-windows_build_vs2019
    - .windows-build-rules
  stage: build-misc
  script:
    - . .\.gitlab-ci\windows\mesa_build.ps1
  artifacts:
    paths:
      - _build/meson-logs/*.txt
      - _install/

test-d3d12-windows:
  extends:
    - .build-windows
    - .use-windows_build_vs2019
    - .windows-test-rules
  stage: layered-backends
  dependencies:
    - windows-vs2019
  needs:
    - windows-vs2019
  variables:
    GIT_STRATEGY: none # testing doesn't build anything from source
    GALLIUM_DRIVER: d3d12
    PIGLIT_PROFILE: quick_gl
    PIGLIT_TESTS: -x nv_copy_depth_to_color -x repeat-wait -x arb_timer_query@timestamp-get
  script:
    - . _install/piglit_run.ps1
  artifacts:
    when: on_failure
    name: "mesa_${CI_JOB_NAME}"
    paths:
      - summary/

debian-clover:
  extends: .meson-build
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glx=disabled
      -D egl=disabled
      -D gbm=disabled
    GALLIUM_DRIVERS: "r600,radeonsi"
    GALLIUM_ST: >
      -D dri3=disabled
      -D gallium-vdpau=disabled
      -D gallium-xvmc=disabled
      -D gallium-omx=disabled
      -D gallium-va=disabled
      -D gallium-xa=disabled
      -D gallium-nine=false
      -D gallium-opencl=icd
    EXTRA_OPTION: >
      -D valgrind=false
  script:
    - LLVM_VERSION=9 GALLIUM_DRIVERS=r600,swrast .gitlab-ci/meson/build.sh
    - .gitlab-ci/meson/build.sh

debian-vulkan:
  extends: .meson-build
  variables:
    UNWIND: "disabled"
    DRI_LOADERS: >
      -D glx=disabled
      -D gbm=disabled
      -D egl=disabled
      -D platforms=x11,wayland
      -D osmesa=false
    GALLIUM_ST: >
      -D dri3=enabled
      -D gallium-vdpau=disabled
      -D gallium-xvmc=disabled
      -D gallium-omx=disabled
      -D gallium-va=disabled
      -D gallium-xa=disabled
      -D gallium-nine=false
      -D gallium-opencl=disabled
      -D b_sanitize=undefined
      -D c_args=-fno-sanitize-recover=all
      -D cpp_args=-fno-sanitize-recover=all
    UBSAN_OPTIONS: "print_stacktrace=1"
    VULKAN_DRIVERS: intel,amd,freedreno,broadcom,virtio-experimental
    EXTRA_OPTION: >
      -D vulkan-layers=device-select,overlay
      -D build-aco-tests=true

debian-i386:
  extends:
    - .meson-cross
    - .use-debian/i386_build
  variables:
    CROSS: i386
    VULKAN_DRIVERS: intel,amd,swrast,virtio-experimental
    GALLIUM_DRIVERS: "iris,nouveau,r300,r600,radeonsi,swrast,virgl,zink,crocus"
    DRI_DRIVERS: "i915,i965,r100,r200,nouveau"
    EXTRA_OPTION: >
      -D vulkan-layers=device-select,overlay

debian-s390x:
  extends:
    - debian-ppc64el
    - .use-debian/s390x_build
    - .s390x-rules
  tags:
    - kvm
  variables:
    CROSS: s390x
    GALLIUM_DRIVERS: "swrast,zink"
    # The lp_test_blend test times out with LLVM 11
    LLVM_VERSION: 9
    VULKAN_DRIVERS: "swrast"

debian-ppc64el:
  extends:
    - .meson-cross
    - .use-debian/ppc64el_build
    - .ppc64el-rules
  variables:
    CROSS: ppc64el
    GALLIUM_DRIVERS: "nouveau,radeonsi,swrast,virgl,zink"
    VULKAN_DRIVERS: "amd,swrast"

debian-mingw32-x86_64:
  extends: .meson-build
  stage: build-misc
  variables:
    UNWIND: "disabled"
    C_ARGS: >
      -Wno-error=format
      -Wno-error=format-extra-args
    CPP_ARGS: $C_ARGS
    DRI_DRIVERS: ""
    GALLIUM_DRIVERS: "swrast"
    EXTRA_OPTION: >
      -Dllvm=disabled
      -Dzlib=disabled
      -Dosmesa=true
      --cross-file=.gitlab-ci/x86_64-w64-mingw32

.test:
  extends:
    - .ci-run-policy
  # Cancel job if a newer commit is pushed to the same branch
  interruptible: true
  variables:
    GIT_STRATEGY: none # testing doesn't build anything from source
  before_script:
    # Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
    - rm -rf install
    - tar -xf artifacts/install.tar
    - LD_LIBRARY_PATH=install/lib find install/lib -name "*.so" -print -exec ldd {} \;
  artifacts:
    when: always
    name: "mesa_${CI_JOB_NAME}"
    paths:
      - results/

.use-debian/x86_test-gl:
  extends:
    - .test
    - .set-image-base-tag
  variables:
    MESA_BASE_TAG: *debian-x86_test-base
    MESA_IMAGE_PATH: "debian/x86_test-gl"
    MESA_IMAGE_TAG: *debian-x86_test-gl
  needs:
    - debian/x86_test-gl

.test-gl:
  extends:
    - .use-debian/x86_test-gl
  needs:
    - debian/x86_test-gl
    - debian-testing

.test-vk:
  extends:
    - .test
    - .set-image-base-tag
  variables:
    MESA_BASE_TAG: *debian-x86_test-base
    MESA_IMAGE_PATH: "debian/x86_test-vk"
    MESA_IMAGE_TAG: *debian-x86_test-vk
  needs:
    - debian-testing
    - debian/x86_test-vk

.test-cl:
  extends:
    - .use-debian/x86_test-gl
  needs:
    - debian/x86_test-gl
    - debian-clover-testing

.vkd3d-proton-test:
  artifacts:
    when: on_failure
    name: "mesa_${CI_JOB_NAME}"
    paths:
      - results/vkd3d-proton.log
  script:
    - ./install/vkd3d-proton/run.sh

.piglit-test:
  artifacts:
    when: on_failure
    name: "mesa_${CI_JOB_NAME}"
    paths:
      - results/summary/
      - results/*.txt
  variables:
    PIGLIT_NO_WINDOW: 1
  script:
    - install/piglit/run.sh

.piglit-traces-test:
  extends:
    - .piglit-test
  cache:
    key: ${CI_JOB_NAME}
    paths:
      - replayer-db/
  artifacts:
    when: on_failure
    name: "mesa_${CI_JOB_NAME}"
    reports:
      junit: results/junit.xml
  variables:
    PIGLIT_PROFILES: replay
    PIGLIT_REPLAY_UPLOAD_TO_MINIO: 1
    PIGLIT_REPLAY_EXTRA_ARGS:  --keep-image --db-path ${CI_PROJECT_DIR}/replayer-db/ --minio_host=minio-packet.freedesktop.org --minio_bucket=mesa-tracie-public --role-session-name=${CI_PROJECT_PATH}:${CI_JOB_ID} --jwt=${CI_JOB_JWT}
    PIGLIT_JUNIT_RESULTS: 1

.deqp-test:
  script:
    - ./install/deqp-runner.sh
  artifacts:
    exclude:
      - results/*.shader_cache
    reports:
      junit: results/junit.xml

.deqp-test-vk:
  extends:
    - .deqp-test
  variables:
    DEQP_VER: vk

.fossilize-test:
  script:
    - ./install/fossilize-runner.sh
  artifacts:
    when: on_failure
    name: "mesa_${CI_JOB_NAME}"
    paths:
      - results/

# Rules for tests that should not be present in MRs or the main
# project's pipeline (don't block marge or report red on
# mesa/mesa main) but should be present on pipelines in personal
# branches (so you can opt in to running the flaky test when you want
# to).
.test-manual:
  rules:
    - *ignore_scheduled_pipelines
    - if: *is-forked-branch
      changes:
        *all_paths
      when: manual
    - when: never
  variables:
    GIT_STRATEGY: none
    JOB_TIMEOUT: 80

# The above .test-manual rules doesn't allow the jobs to be available for MRs
# but we should have an option to have manual jobs in MRs as well.
.test-manual-mr:
  rules:
    - *ignore_scheduled_pipelines
    - if: *is-forked-branch-or-pre-merge-not-for-marge
      changes:
        *all_paths
      when: manual
    - when: never
  variables:
    GIT_STRATEGY: none
    JOB_TIMEOUT: 80

.baremetal-test:
  extends:
    - .ci-run-policy
    - .test
  # Cancel job if a newer commit is pushed to the same branch
  interruptible: true
  stage: test
  before_script:
    # Use this instead of gitlab's artifacts download because it hits packet.net
    # instead of fd.o.  Set FDO_HTTP_CACHE_URI to an http cache for your test lab to
    # improve it even more (see https://docs.mesa3d.org/ci/bare-metal.html for
    # setup).
    - wget ${FDO_HTTP_CACHE_URI:-}https://${PIPELINE_ARTIFACTS_BASE}/${MINIO_ARTIFACT_NAME}.tar.gz -S --progress=dot:giga -O- | tar -xz
  artifacts:
    when: always
    name: "mesa_${CI_JOB_NAME}"
    paths:
      - results/
      - serial*.txt
    exclude:
      - results/*.shader_cache
    reports:
      junit: results/junit.xml

.baremetal-test-armhf:
  extends:
    - .baremetal-test
  variables:
    MINIO_ARTIFACT_NAME: mesa-armhf

.baremetal-arm64-asan-test:
  variables:
    DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.6"
    MINIO_ARTIFACT_NAME: mesa-arm64-asan
  needs:
    - debian/arm_test
    - job: debian-arm64-asan
      artifacts: false

.baremetal-deqp-test:
  variables:
    HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
    FDO_CI_CONCURRENT: 0 # Default to number of CPUs
