--- # Copyright © 2021 Orange # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. stages: - linting - build - test cla_authors: stage: linting image: name: bitnami/git:2 entrypoint: [""] script: - . .ci/common.sh - title "Running cla authors retrieval..." - exit_code=0 - RESULT=$(.ci/check-cla-for-multiple-commits.sh 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code needs: [] rules: - if: $CI_MERGE_REQUEST_ID pylint: stage: linting image: name: cytopia/pylint entrypoint: [""] script: - . .ci/common.sh - title "Running pylint check..." - exit_code=0 - RESULT=$(find kubernetes/ TOSCA/ docs/ -name '*.py' -print0 | xargs -0 pylint 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code needs: [] rules: - if: $CI_MERGE_REQUEST_ID changes: - .ci/* - .gitlab-ci.yml - '**/*.py' commit-message: stage: linting image: name: jorisroovers/gitlint:0.16.0 entrypoint: [""] script: - . .ci/common.sh - title "*** Running gitlint..." - exit_code=0 - RESULT=$(gitlint 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code needs: [] rules: - if: $CI_MERGE_REQUEST_ID trailing-whitespaces: stage: linting image: name: alpine/git:v2.24.1 entrypoint: [""] script: - . .ci/common.sh - title "Running trailing whitespaces check..." - exit_code=0 - RESULT=$(.ci/find-trailing-whitespaces.sh 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code needs: [] rules: - if: $CI_MERGE_REQUEST_ID tabs: stage: linting image: name: alpine/git:v2.24.1 entrypoint: [""] script: - . .ci/common.sh - title "Running tabs check..." - exit_code=0 - RESULT=$(.ci/find-tabs.sh 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code needs: [] rules: - if: $CI_MERGE_REQUEST_ID documentation:doc8: stage: linting image: name: testthedocs/ttd-doc8 entrypoint: [""] script: - . .ci/common.sh - title "Running doc8 check..." - exit_code=0 - RESULT=$(doc8 docs 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code rules: - if: $CI_MERGE_REQUEST_ID changes: - .ci/* - .gitlab-ci.yml - docs/**/* needs: [] documentation:link-check: stage: linting image: name: python:3.7 entrypoint: [""] script: - . .ci/common.sh - pip install -r requirements.txt -chttps://git.onap.org/doc/plain/etc/upper-constraints.os.txt -chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt - title "Running documentation links check..." - exit_code=0 - RESULT=$(sphinx-build -W -b linkcheck -d /tmp/doctrees ./docs/ ./docs/_build/linkcheck 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code rules: - if: $CI_MERGE_REQUEST_ID changes: - .ci/* - .gitlab-ci.yml - docs/**/* needs: [] documentation:spelling: stage: linting image: name: python:3.7 entrypoint: [""] script: - . .ci/common.sh - apt-get update - apt-get install -qq --yes curl libenchant-2-2 - curl -LO https://git.onap.org/doc/plain/docs/spelling_wordlist.txt - pip install -r requirements.txt -chttps://git.onap.org/doc/plain/etc/upper-constraints.os.txt -chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt - title "Running documentation spelling check..." - exit_code=0 - RESULT=$(sphinx-build -b spelling -d /tmp/doctrees ./docs/ ./docs/_build/spelling 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code rules: - if: $CI_MERGE_REQUEST_ID changes: - .ci/* - .gitlab-ci.yml - docs/**/* needs: [] bashisms: stage: linting image: name: manabu/checkbashisms-docker entrypoint: [""] script: - . .ci/common.sh - title "Running bashisms check..." - exit_code=0 - RESULT=$(.ci/check-bashisms 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code rules: - if: $CI_MERGE_REQUEST_ID needs: [] helm:fast: stage: linting services: - name: bitnami/chartmuseum:latest alias: chartmuseum image: name: alpine/helm:3.6.3 entrypoint: [""] variables: SKIP_LINT: "TRUE" script: - . .ci/common.sh - apk add --no-cache make - helm repo add local http://chartmuseum:8080/ - helm plugin install --version v0.9.0 https://github.com/chartmuseum/helm-push.git - title "Running helm fast check..." - cd kubernetes - exit_code=0 - make all || exit_code=$? - handle_test_result $exit_code "" - exit $exit_code needs: [] rules: - if: $CI_MERGE_REQUEST_ID changes: - .ci/* - .gitlab-ci.yml - kubernetes/**/* helm:full: stage: build services: - name: bitnami/chartmuseum:latest alias: chartmuseum image: name: alpine/helm:3.6.3 entrypoint: [""] script: - . .ci/common.sh - apk add --no-cache make - helm repo add local http://chartmuseum:8080/ - helm plugin install --version v0.9.0 https://github.com/chartmuseum/helm-push.git - title "Running full helm check..." - cd kubernetes - exit_code=0 - make all || exit_code=$? - handle_test_result $exit_code "" - exit $exit_code needs: - helm:fast timeout: 6h rules: - if: $CI_MERGE_REQUEST_ID changes: - .ci/* - .gitlab-ci.yml - kubernetes/**/* documentation: stage: build image: name: python:3.7 entrypoint: [""] script: - . .ci/common.sh - apt-get update - apt-get install --yes graphviz plantuml - pip install -r requirements.txt -chttps://git.onap.org/doc/plain/etc/upper-constraints.os.txt -chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt - title "Running documentation build..." - exit_code=0 - RESULT=$(sphinx-build -q -W -b html -d /tmp/doctrees ./docs/ ./docs/_build/html 2>&1) || exit_code=$? - handle_test_result $exit_code "$RESULT" - exit $exit_code rules: - if: $CI_MERGE_REQUEST_ID changes: - .ci/* - .gitlab-ci.yml - docs/* needs: - documentation:spelling - documentation:link-check - documentation:doc8 gating:launch: stage: test image: name: busybox entrypoint: [""] script: - . .ci/common.sh - title "Launching request for a gate" needs: - bashisms - helm:fast - tabs - trailing-whitespaces rules: - if: $CI_MERGE_REQUEST_ID changes: - .ci/* - .gitlab-ci.yml - kubernetes/**/*