Following the idea to distribute in a tree of files to include and split between the files with or without hidden job definitions, some jobs in the root file can be moved to files made specific to describe build or test jobs. Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427>
110 lines
3.3 KiB
YAML
110 lines
3.3 KiB
YAML
include:
|
|
- local: '.gitlab-ci/test/gitlab-ci-inc.yml'
|
|
|
|
mr-label-maker-test:
|
|
extends:
|
|
- .fdo.ci-fairy
|
|
stage: sanity
|
|
tags:
|
|
- placeholder-job
|
|
rules:
|
|
- !reference [.mr-label-maker-rules, rules]
|
|
variables:
|
|
GIT_STRATEGY: fetch
|
|
timeout: 10m
|
|
script:
|
|
- set -eu
|
|
- python3 -m venv .venv
|
|
- source .venv/bin/activate
|
|
- pip install git+https://gitlab.freedesktop.org/freedesktop/mr-label-maker
|
|
- mr-label-maker --dry-run --mr $CI_MERGE_REQUEST_IID
|
|
|
|
rustfmt:
|
|
extends:
|
|
- .formatting-check
|
|
- .lint-rustfmt-rules
|
|
before_script:
|
|
- shopt -s globstar
|
|
- source "$HOME/.cargo/env"
|
|
- rustfmt --version
|
|
- rustfmt --verbose src/**/lib.rs
|
|
|
|
shader-db:
|
|
stage: code-validation
|
|
extends:
|
|
- .use-debian/x86_64_build
|
|
rules:
|
|
- !reference [.never-post-merge-rules, rules]
|
|
- !reference [.core-rules, rules]
|
|
# Keep this list in sync with the drivers tested in run-shader-db.sh
|
|
- !reference [.freedreno-common-rules, rules]
|
|
- !reference [.intel-common-rules, rules]
|
|
- !reference [.lima-rules, rules]
|
|
- !reference [.v3d-rules, rules]
|
|
- !reference [.vc4-rules, rules]
|
|
- !reference [.nouveau-rules, rules]
|
|
- !reference [.r300-rules, rules]
|
|
# Also run if this job's own config or script changes
|
|
- changes:
|
|
- .gitlab-ci/build/gitlab-ci.yml
|
|
- .gitlab-ci/run-shader-db.sh
|
|
needs:
|
|
- debian-build-x86_64
|
|
variables:
|
|
S3_ARTIFACT_NAME: debian-build-x86_64
|
|
before_script:
|
|
- !reference [.download_s3, before_script]
|
|
script: |
|
|
.gitlab-ci/run-shader-db.sh
|
|
artifacts:
|
|
paths:
|
|
- shader-db
|
|
timeout: 15m
|
|
tags:
|
|
# FIXME: kvm is a hack, should not be needed
|
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
|
|
|
|
yaml-toml-shell-py-test:
|
|
extends:
|
|
- .use-debian/arm64_build
|
|
- .no-auto-retry # this job can't be flaky
|
|
stage: code-validation
|
|
script:
|
|
- uncollapsed_section_start tomllint "tomllint"
|
|
- echo "If your change looks right but this script rejects it, contact @eric (GitLab) / eric_engestrom (IRC)."
|
|
- python3 bin/toml_lint.py
|
|
- uncollapsed_section_switch yamllint "yamllint"
|
|
- .gitlab-ci/run-yamllint.sh
|
|
- uncollapsed_section_switch shellcheck "shellcheck"
|
|
- .gitlab-ci/run-shellcheck.sh
|
|
- section_end shellcheck
|
|
- .gitlab-ci/run-pytest.sh
|
|
rules:
|
|
- !reference [.disable-farm-mr-rules, rules]
|
|
- !reference [.never-post-merge-rules, rules]
|
|
- !reference [.no_scheduled_pipelines-rules, rules]
|
|
# merge pipeline
|
|
- if: $GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
changes: &lint_files
|
|
- .gitlab-ci/test/gitlab-ci.yml
|
|
- .gitlab-ci/**/*.sh
|
|
- .shellcheckrc
|
|
- bin/toml_lint.py
|
|
- src/**/ci/*.toml
|
|
- .gitlab-ci/tests/**/*
|
|
- bin/ci/**/*
|
|
when: on_success
|
|
# direct pushes that bypassed the CI
|
|
- if: $CI_PROJECT_NAMESPACE == "mesa" && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
|
|
changes: *lint_files
|
|
when: on_success
|
|
# direct pushes from release manager
|
|
- if: $CI_PROJECT_NAMESPACE == "mesa" && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME =~ /^staging\//
|
|
changes: *lint_files
|
|
when: on_success
|
|
- changes: *lint_files
|
|
when: manual
|
|
tags:
|
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
|