must run on all branches as quality is an expectation that should be displayed for all branches. MR !13
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| 
 | |
| .yaml_lint_defaults:
 | |
|     variables:
 | |
|         YAML_LINT_PATH: "/*.yml"
 | |
|         YAML_LINT_CONFIG: "/yaml_lint/.yamllint.yaml"
 | |
|     stage: validation
 | |
|     before_script:
 | |
|         - if [ "0$JOB_ROOT_DIR" == "0" ]; then ROOT_DIR=gitlab-ci; else ROOT_DIR=$JOB_ROOT_DIR ; fi
 | |
|         - echo "[DEBUG] ROOT_DIR[$ROOT_DIR]"
 | |
|         - mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME"
 | |
|         - mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests"
 | |
|         - export PYTHON_VERSION=`python -c 'import sys; version=sys.version_info[:3]; print("{0}.{1}.{2}".format(*version))'`
 | |
|         - apt update
 | |
|         - apt install --no-install-recommends -y git
 | |
|         - python3 -m venv env
 | |
|         - . env/bin/activate
 | |
|         - pip install --upgrade pip
 | |
|         - pip install -r $ROOT_DIR/yaml_lint/requirements.txt
 | |
|         - mkdir $PYTHON_VERSION
 | |
|     script:
 | |
|         - YAML_LINT_PATH=$ROOT_DIR$YAML_LINT_PATH
 | |
|         - echo "[DEBUG] YAML_LINT_PATH[$YAML_LINT_PATH]"
 | |
|         - YAML_LINT_CONFIG=$ROOT_DIR$YAML_LINT_CONFIG
 | |
|         - echo "[DEBUG] YAML_LINT_CONFIG[$YAML_LINT_CONFIG]"
 | |
|         - yamllint $YAML_LINT_PATH -f parsable -c $ROOT_DIR/yaml_lint/.yamllint.yaml > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$PYTHON_VERSION-yaml-lint.log" 1>&1 || YAML_LINT=$?
 | |
|         - cat "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$PYTHON_VERSION-yaml-lint.log" | ansible-lint-to-junit-xml > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/$PYTHON_VERSION-yaml-lint.junit.xml"
 | |
|         - if [ $YAML_LINT > 0 ]; then echo "YAML lint failed with $YAML_LINT"; exit $YAML_LINT; fi
 | |
|     after_script:
 | |
|         - echo deactivate
 | |
|     artifacts:
 | |
|         expire_in: 3 days
 | |
|         when: always
 | |
|         paths:
 | |
|             - "artifacts/*"
 | |
|         reports:
 | |
|             junit:
 | |
|                 - "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/*.junit.xml"
 | |
|     rules:
 | |
|         - if: '$CI_COMMIT_BRANCH'
 | |
|           when: always
 | |
|         - when: never
 | |
| 
 |