drivers/gpu/drm/ci/gitlab-ci.yml

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/ci/gitlab-ci.yml

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/ci/gitlab-ci.yml
Extension
.yml
Size
13362 bytes
Lines
412
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

variables:
  DRM_CI_PROJECT_PATH: &drm-ci-project-path mesa/mesa
  DRM_CI_COMMIT_SHA: &drm-ci-commit-sha 25881c701a56233dd8fc7f92db6884a73949d63d

  UPSTREAM_REPO: https://gitlab.freedesktop.org/drm/kernel.git
  TARGET_BRANCH: drm-next

  IGT_VERSION: 129d5b10baaadea1d6cd6377341c4cb42e7ee6fd

  DEQP_RUNNER_GIT_URL: https://gitlab.freedesktop.org/mesa/deqp-runner.git
  DEQP_RUNNER_GIT_TAG: v0.20.0

  FDO_UPSTREAM_REPO: helen.fornazier/linux   # The repo where the git-archive daily runs
  MESA_TEMPLATES_COMMIT: &ci-templates-commit aec7a6ce7bb38902c70641526f6611e27141784a
  DRM_CI_PROJECT_URL: https://gitlab.freedesktop.org/${DRM_CI_PROJECT_PATH}
  CI_PRE_CLONE_SCRIPT: |-
          set -o xtrace
          curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s ${DRM_CI_PROJECT_URL}/-/raw/${DRM_CI_COMMIT_SHA}/.gitlab-ci/download-git-cache.sh -o download-git-cache.sh
          bash download-git-cache.sh
          rm download-git-cache.sh
          set +o xtrace
  S3_JWT_FILE: /s3_jwt
  S3_JWT_FILE_SCRIPT: |-
      echo -n '${S3_JWT}' > '${S3_JWT_FILE}' &&
      unset CI_JOB_JWT S3_JWT  # Unsetting vulnerable env variables
  S3_HOST: s3.freedesktop.org
  # This bucket is used to fetch the kernel image
  S3_KERNEL_BUCKET: mesa-rootfs
  # Bucket for git cache
  S3_GITCACHE_BUCKET: git-cache
  # Bucket for the pipeline artifacts pushed to S3
  S3_ARTIFACTS_BUCKET: artifacts
  # Base path used for various artifacts
  S3_BASE_PATH: "${S3_HOST}/${S3_KERNEL_BUCKET}"
  # per-pipeline artifact storage on MinIO
  PIPELINE_ARTIFACTS_BASE: ${S3_HOST}/${S3_ARTIFACTS_BUCKET}/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}
  # per-job artifact storage on MinIO
  JOB_ARTIFACTS_BASE: ${PIPELINE_ARTIFACTS_BASE}/${CI_JOB_ID}
  KERNEL_IMAGE_BASE: https://${S3_HOST}/${S3_KERNEL_BUCKET}/${KERNEL_REPO}/${KERNEL_TAG}
  LAVA_TAGS: subset-1-gfx
  # Default priority for non-merge pipelines
  FDO_RUNNER_JOB_PRIORITY_TAG_X86_64: ""  # Empty tags are ignored by gitlab
  FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM: kvm
  FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64: aarch64
  JOB_PRIORITY: 30
  ARTIFACTS_BASE_URL: https://${CI_PROJECT_ROOT_NAMESPACE}.${CI_PAGES_DOMAIN}/-/${CI_PROJECT_NAME}/-/jobs/${CI_JOB_ID}/artifacts
  # Python scripts for structured logger
  PYTHONPATH: "$PYTHONPATH:$CI_PROJECT_DIR/install"
  # Mesa-specific variables that shouldn't be forwarded to DUTs and crosvm
  CI_EXCLUDE_ENV_VAR_REGEX: 'SCRIPTS_DIR|RESULTS_DIR'


default:
  id_tokens:
    S3_JWT:
      aud: https://s3.freedesktop.org
  before_script:
    - export SCRIPTS_DIR=$(mktemp -d)
    - curl -L -s --retry 4 -f --retry-all-errors --retry-delay 60 -O --output-dir "${SCRIPTS_DIR}" "${DRM_CI_PROJECT_URL}/-/raw/${DRM_CI_COMMIT_SHA}/.gitlab-ci/setup-test-env.sh"
    - source ${SCRIPTS_DIR}/setup-test-env.sh
    - eval "$S3_JWT_FILE_SCRIPT"

    - echo -e "\e[0Ksection_start:$(date +%s):drm_ci_download_section[collapsed=true]\r\e[0KDownloading mesa from $DRM_CI_PROJECT_URL/-/archive/$DRM_CI_COMMIT_SHA/mesa-$DRM_CI_COMMIT_SHA.tar.gz"
    - cd $CI_PROJECT_DIR
    - curl --output - $DRM_CI_PROJECT_URL/-/archive/$DRM_CI_COMMIT_SHA/mesa-$DRM_CI_COMMIT_SHA.tar.gz | tar -xz
    - mv mesa-$DRM_CI_COMMIT_SHA/.gitlab-ci* .
    - mv mesa-$DRM_CI_COMMIT_SHA/bin .
    - rm -rf mesa-$DRM_CI_COMMIT_SHA/
    - echo -e "\e[0Ksection_end:$(date +%s):drm_ci_download_section\r\e[0K"

Annotation

Implementation Notes