109 lines
3.3 KiB
YAML
109 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
|