stages: - build - test - report default: image: name: registry.gitlab.com/kicad/kicad-ci/source_containers/master/fedora:36 entrypoint: ["/bin/sh", "-c"] ########################################################################## # Test the formatting in a merge request using clang-format ########################################################################## # The variable CI_COMMIT_BEFORE_SHA is not available in normal merge requests # so we must build the commit hash ourselves, see: # https://gitlab.com/gitlab-org/gitlab/-/issues/12850 test_formatting: stage: test needs: [] only: - merge_requests allow_failure: true before_script: # We must manually add the KiCad remote to ensure it is named sensibly - git remote add product https://gitlab.com/kicad/code/kicad.git - git remote add source ${CI_MERGE_REQUEST_SOURCE_PROJECT_URL}.git - git fetch -n product - git fetch -n source # Get the SHAs of the commits - "TARGET_HEAD_SHA=$(git rev-parse product/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME})" - "SOURCE_HEAD_SHA=$(git rev-parse source/${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME})" - "MERGE_BASE_SHA=$(git merge-base ${TARGET_HEAD_SHA} ${SOURCE_HEAD_SHA})" script: - echo "Testing formatting from commit ${MERGE_BASE_SHA}" - ./tools/check_coding.sh --diff --ci --commit ${MERGE_BASE_SHA} include: - local: '/.gitlab/templates.yml' - local: '/.gitlab/Fedora-Linux-CI.yml' - local: '/.gitlab/Ubuntu-20.04-CI.yml' - local: '/.gitlab/Windows-CI.yml' - local: '/.gitlab/coverity.yml' - local: '/.gitlab/linux-metadata-validate.yml' - local: '/.gitlab/doxygen.yml'