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