@ -114,11 +114,12 @@ PyLint:
|
||||
|
||||
|
||||
gilab-ci.yml Lint (python 3.11):
|
||||
variables:
|
||||
YAML_LINT_PATH: ".gitlab-ci* ./**/*gitlab-ci*"
|
||||
YAML_LINT_EXTRA_ARGS: "{ extends: lint/.yamllint.yaml, ignore: [website-template/*] }"
|
||||
# variables:
|
||||
# YAML_LINT_PATH: ".gitlab-ci* ./**/*gitlab-ci*"
|
||||
# YAML_LINT_EXTRA_ARGS: "{ extends: lint/.yamllint.yaml, ignore: [website-template/*] }"
|
||||
extends:
|
||||
- .yaml_lint_defaults
|
||||
# - .yaml_lint_defaults
|
||||
- .Gitlab_CI.Lint.YAML
|
||||
image: python:3.11-slim
|
||||
|
||||
|
||||
|
@ -13,6 +13,13 @@
|
||||
$CI_COMMIT_BRANCH != "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
|
||||
.condition_master_or_dev_push: &condition_master_or_dev_push # condition_master_or_dev_push
|
||||
(
|
||||
$CI_COMMIT_BRANCH == "master" ||
|
||||
$CI_COMMIT_BRANCH == "development"
|
||||
)&&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
|
||||
.condition_git_tag: &condition_git_tag # condition_git_tag
|
||||
$CI_COMMIT_TAG != null &&
|
||||
$CI_COMMIT_BRANCH == null
|
||||
|
@ -46,22 +46,28 @@
|
||||
rules:
|
||||
- if: '$JOB_STOP_CONVENTIONAL_COMMITS'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
when: never
|
||||
- if: "$CI_COMMIT_AUTHOR =='nfc_bot <helpdesk@nofusscomputing.com>'"
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == "master" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
exists:
|
||||
- .cz.yaml
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
|
||||
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
# when: never
|
||||
# - if: '$CI_COMMIT_TAG'
|
||||
# when: never
|
||||
# - if: "$CI_COMMIT_AUTHOR =='nfc_bot <helpdesk@nofusscomputing.com>'"
|
||||
# when: never
|
||||
|
||||
- if: # condition_any_branch_push
|
||||
$CI_COMMIT_BRANCH != null &&
|
||||
$CI_COMMIT_TAG == null &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- .cz.yaml
|
||||
when: always
|
||||
|
||||
# - if: '$CI_COMMIT_BRANCH &&
|
||||
# ( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
# exists:
|
||||
# - .cz.yaml
|
||||
# when: always
|
||||
|
||||
- when: never
|
||||
|
||||
|
||||
|
@ -0,0 +1 @@
|
||||
.
|
@ -16,6 +16,7 @@ about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
|
||||
- other sub folders are for `` which **DO NOT** automagically create jobs, but are pure definitions only.
|
||||
|
||||
- notate how each of the stages run and under what circumstance. *i.e. gitlab-ci.yml rules.exist/rules.changes*
|
||||
|
||||
## CI Stages
|
||||
|
||||
|
@ -17,12 +17,21 @@
|
||||
rules:
|
||||
- if: '$JOB_STOP_GIT_PUSH_MIRROR'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_TAG && $GIT_SYNC_URL != null'
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH == "master" && $GIT_SYNC_URL != null &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
- if: '$CI_COMMIT_BRANCH == "development" && $GIT_SYNC_URL != null &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
when: always
|
||||
- when: never
|
||||
|
||||
- if: $GIT_SYNC_URL == null
|
||||
when: never
|
||||
|
||||
- if: # condition_git_tag
|
||||
$CI_COMMIT_TAG != null &&
|
||||
$CI_COMMIT_BRANCH == null
|
||||
when: always
|
||||
|
||||
- if: # condition_master_or_dev_push
|
||||
(
|
||||
$CI_COMMIT_BRANCH == "master" ||
|
||||
$CI_COMMIT_BRANCH == "development"
|
||||
) &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
@ -100,12 +100,18 @@ commit footer refs:
|
||||
rules:
|
||||
- if: '$JOB_STOP_CONVENTIONAL_COMMITS'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == "development" || $CI_COMMIT_BRANCH == "master"'
|
||||
- if: $CHANGELOG_FOOTER_REFERENCES == "False"
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH && $CHANGELOG_FOOTER_REFERENCES != "False" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
|
||||
# - if: '$CI_COMMIT_BRANCH == "development" || $CI_COMMIT_BRANCH == "master"'
|
||||
# when: never
|
||||
|
||||
- if: # condition_any_branch_push
|
||||
$CI_COMMIT_BRANCH != null &&
|
||||
$CI_COMMIT_TAG == null &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- .cz.yaml
|
||||
when: always
|
||||
- when: never
|
||||
|
||||
- when: never
|
||||
|
@ -35,21 +35,50 @@
|
||||
rules:
|
||||
- if: '$JOB_STOP_ANSIBLE_LINT'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == "master" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
|
||||
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
# when: never
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- 'tasks/main.yaml'
|
||||
- "[defaults/|handlers/|meta/|tasks/]**.yaml"
|
||||
when: always
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
- if: # condition_dev_branch_push
|
||||
$CI_COMMIT_BRANCH == "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- 'tasks/main.yaml'
|
||||
- "[defaults/|handlers/|meta/|tasks/]**.yaml"
|
||||
changes:
|
||||
paths:
|
||||
- "[defaults/|handlers/|meta/|tasks/]**.yaml"
|
||||
compare_to: 'master'
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
|
||||
- if: # condition_not_master_or_dev_push
|
||||
$CI_COMMIT_BRANCH != "master" &&
|
||||
$CI_COMMIT_BRANCH != "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- 'tasks/main.yaml'
|
||||
- "[defaults/|handlers/|meta/|tasks/]**.yaml"
|
||||
changes:
|
||||
paths:
|
||||
- "[defaults/|handlers/|meta/|tasks/]**.yaml"
|
||||
compare_to: 'development'
|
||||
when: always
|
||||
|
||||
# - if: '$CI_COMMIT_TAG'
|
||||
# exists:
|
||||
# - 'tasks/main.yaml'
|
||||
# when: always
|
||||
|
||||
# - if: '$CI_COMMIT_BRANCH &&
|
||||
# ( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
# exists:
|
||||
# - "[defaults|handlers|meta|tasks]/*.yaml"
|
||||
# when: always
|
||||
|
||||
- when: never
|
||||
|
||||
|
@ -43,17 +43,36 @@
|
||||
MD_LINT_CONFIG_PATH: "$CI_PROJECT_DIR/website-template"
|
||||
extends: .Lint_Markdown
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "docs/index.md"
|
||||
- "pages/index.md"
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
|
||||
- if: # condition_dev_branch_push
|
||||
$CI_COMMIT_BRANCH == "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "docs/index.md"
|
||||
- "pages/index.md"
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
changes:
|
||||
paths:
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
compare_to: 'master'
|
||||
when: always
|
||||
- when: never
|
||||
|
||||
- if: # condition_not_master_or_dev_push
|
||||
$CI_COMMIT_BRANCH != "master" &&
|
||||
$CI_COMMIT_BRANCH != "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- '{docs/**,pages/**}/*.md' # works
|
||||
changes:
|
||||
paths:
|
||||
#- '{docs/*,pages/*}*.md'
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
compare_to: 'development'
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
@ -1,49 +1,104 @@
|
||||
|
||||
.yaml_lint_defaults:
|
||||
variables:
|
||||
YAML_LINT_PATH: "."
|
||||
YAML_LINT_EXTRA_ARGS: "{ extends: $ROOT_DIR/lint/.yamllint.yaml, ignore: [gitlab-ci/*] }"
|
||||
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/lint/requirements.txt
|
||||
- mkdir $PYTHON_VERSION
|
||||
script:
|
||||
- echo "[DEBUG] YAML_LINT_PATH[$YAML_LINT_PATH]"
|
||||
- echo "[DEBUG] YAML_LINT_CONFIG[$YAML_LINT_CONFIG]"
|
||||
- yamllint $YAML_LINT_PATH -f parsable -d "$(echo $YAML_LINT_EXTRA_ARGS)" > "$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
|
||||
variables:
|
||||
YAML_LINT_PATH: "."
|
||||
YAML_LINT_EXTRA_ARGS: "{ extends: $ROOT_DIR/lint/.yamllint.yaml, ignore: [gitlab-ci/*, website-template/*] }"
|
||||
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/lint/requirements.txt
|
||||
- mkdir $PYTHON_VERSION
|
||||
script:
|
||||
- echo "[DEBUG] YAML_LINT_PATH[$YAML_LINT_PATH]"
|
||||
- echo "[DEBUG] YAML_LINT_CONFIG[$YAML_LINT_CONFIG]"
|
||||
- yamllint $YAML_LINT_PATH -f parsable -d "$(echo $YAML_LINT_EXTRA_ARGS)" > "$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: '$JOB_STOP_YAML_LINT'
|
||||
when: never
|
||||
|
||||
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
# when: never
|
||||
|
||||
# - if: '$CI_COMMIT_TAG'
|
||||
# when: always
|
||||
|
||||
- if: '$CI_COMMIT_BRANCH == "master" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
when: always
|
||||
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
||||
|
||||
.Gitlab_CI.Lint.YAML:
|
||||
variables:
|
||||
YAML_LINT_PATH: ".gitlab-ci* ./**/*gitlab-ci*"
|
||||
YAML_LINT_EXTRA_ARGS: "{ extends: lint/.yamllint.yaml, ignore: [gitlab-ci/*, website-template/*] }"
|
||||
extends:
|
||||
- .yaml_lint_defaults
|
||||
rules:
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "[!gitlab-ci/|!website-template|**|**/]*gitlab-ci*"
|
||||
# - ".gitlab-ci*"
|
||||
# - "**/*gitlab-ci*"
|
||||
when: always
|
||||
|
||||
- if: # condition_dev_branch_push
|
||||
$CI_COMMIT_BRANCH == "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "[!gitlab-ci/|!website-template|**|**/]*gitlab-ci*"
|
||||
# - ".gitlab-ci*"
|
||||
# - "**/*gitlab-ci*"
|
||||
changes:
|
||||
paths:
|
||||
- "artifacts/*"
|
||||
reports:
|
||||
junit:
|
||||
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/*.junit.xml"
|
||||
rules:
|
||||
- if: '$JOB_STOP_YAML_LINT'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH == "master" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
when: always
|
||||
- when: never
|
||||
- ".gitlab-ci*"
|
||||
- "**/*gitlab-ci*"
|
||||
compare_to: 'master'
|
||||
when: always
|
||||
|
||||
- if: # condition_not_master_or_dev_push
|
||||
$CI_COMMIT_BRANCH != "master" &&
|
||||
$CI_COMMIT_BRANCH != "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "[!gitlab-ci/|!website-template|**|**/]*gitlab-ci*"
|
||||
# - ".gitlab-ci*"
|
||||
# - "**/*gitlab-ci*"
|
||||
changes:
|
||||
paths:
|
||||
- "[!gitlab-ci/|!website-template/|**|**/]*gitlab-ci*"
|
||||
# - ".gitlab-ci*"
|
||||
# - "**/*gitlab-ci*"
|
||||
compare_to: 'development'
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
@ -25,19 +25,23 @@
|
||||
rules:
|
||||
- if: '$JOB_STOP_MKDOCS_BUILD'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: $CI_COMMIT_TAG
|
||||
|
||||
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
# when: never
|
||||
|
||||
# - if: $CI_COMMIT_TAG
|
||||
# exists:
|
||||
# - 'mkdocs.{yaml,yml}'
|
||||
# when: always
|
||||
|
||||
- if: # condition_any_branch_push
|
||||
$CI_COMMIT_BRANCH != null &&
|
||||
$CI_COMMIT_TAG == null &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "mkdocs.yaml"
|
||||
- "mkdocs.yml"
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
exists:
|
||||
- "mkdocs.yaml"
|
||||
- "mkdocs.yml"
|
||||
- 'mkdocs.{yaml,yml}'
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
||||
|
||||
@ -48,15 +52,36 @@
|
||||
rules:
|
||||
- if: '$JOB_STOP_MKDOCS_BUILD'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: $CI_COMMIT_TAG
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "docs/index.md"
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
|
||||
- if: # condition_dev_branch_push
|
||||
$CI_COMMIT_BRANCH == "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "docs/index.md"
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
changes:
|
||||
paths:
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
compare_to: 'master'
|
||||
when: always
|
||||
- when: never
|
||||
|
||||
- if: # condition_not_master_or_dev_push
|
||||
$CI_COMMIT_BRANCH != "master" &&
|
||||
$CI_COMMIT_BRANCH != "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
changes:
|
||||
paths:
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
compare_to: 'development'
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
@ -5,49 +5,79 @@
|
||||
}" > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/badge_pylint.json"
|
||||
|
||||
.PyLint:
|
||||
variables:
|
||||
PYLINT_PATH: "/*/python-module/*/*.py"
|
||||
PYLINT_RC_PATH: "/python/.pylintrc"
|
||||
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/python/requirements.txt
|
||||
- mkdir $PYTHON_VERSION
|
||||
script:
|
||||
- PYLINT_PATH=$ROOT_DIR$PYLINT_PATH
|
||||
- echo "[DEBUG] PYLINT_PATH[$PYLINT_PATH]"
|
||||
- PYLINT_RC_PATH=$ROOT_DIR$PYLINT_RC_PATH
|
||||
- echo "[DEBUG] PYLINT_RC_PATH[$PYLINT_RC_PATH]"
|
||||
- python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter $PYLINT_PATH > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json"
|
||||
variables:
|
||||
PYLINT_PATH: "/*/python-module/*/*.py"
|
||||
PYLINT_RC_PATH: "/python/.pylintrc"
|
||||
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/python/requirements.txt
|
||||
- mkdir $PYTHON_VERSION
|
||||
script:
|
||||
- PYLINT_PATH=$ROOT_DIR$PYLINT_PATH
|
||||
- echo "[DEBUG] PYLINT_PATH[$PYLINT_PATH]"
|
||||
- PYLINT_RC_PATH=$ROOT_DIR$PYLINT_RC_PATH
|
||||
- echo "[DEBUG] PYLINT_RC_PATH[$PYLINT_RC_PATH]"
|
||||
- python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter $PYLINT_PATH > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json"
|
||||
|
||||
- python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter $PYLINT_PATH > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.html"
|
||||
- python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter $PYLINT_PATH > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.html"
|
||||
|
||||
- PyPIScore=$(python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero $PYLINT_PATH | sed -n 's/^Your code has been rated at \([-0-9./]*\).*/\1/p')
|
||||
- PyPIScore=$(python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero $PYLINT_PATH | sed -n 's/^Your code has been rated at \([-0-9./]*\).*/\1/p')
|
||||
|
||||
- *pylint_badge
|
||||
- *pylint_badge
|
||||
|
||||
after_script:
|
||||
- echo deactivate
|
||||
artifacts:
|
||||
expire_in: 1 days
|
||||
when: always
|
||||
paths:
|
||||
- "artifacts/*"
|
||||
reports:
|
||||
codequality: "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json"
|
||||
rules:
|
||||
# - if: '$CI_COMMIT_BRANCH &&
|
||||
# ( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
# when: always
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- '{!gitlab-ci/**|!website-template/**|**/|*}/*.py'
|
||||
when: always
|
||||
|
||||
after_script:
|
||||
- echo deactivate
|
||||
artifacts:
|
||||
expire_in: 1 days
|
||||
when: always
|
||||
- if: # condition_development_branch_push
|
||||
$CI_COMMIT_BRANCH == "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- '{!gitlab-ci/**|!website-template/**|**/|*}/*.py'
|
||||
changes:
|
||||
paths:
|
||||
- "artifacts/*"
|
||||
reports:
|
||||
codequality: "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json"
|
||||
rules:
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
when: always
|
||||
- when: never
|
||||
- '{!gitlab-ci/**|!website-template/**|**/|*}/*.py'
|
||||
compare_to: 'master'
|
||||
when: always
|
||||
|
||||
- if: # condition_not_master_or_dev_push
|
||||
$CI_COMMIT_BRANCH != "master" &&
|
||||
$CI_COMMIT_BRANCH != "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- '{!gitlab-ci/**|!website-template/**|**/|*}/*.py'
|
||||
changes:
|
||||
paths:
|
||||
- '{!gitlab-ci/**|!website-template/**|**/|*}/*.py'
|
||||
compare_to: 'development'
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
||||
|
@ -16,7 +16,7 @@ Documentation.Build:
|
||||
needs: [ 'Documentation.Lint' ]
|
||||
|
||||
|
||||
pages:
|
||||
Documentation.Pages.Deploy:
|
||||
stage: deploy
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
@ -32,21 +32,28 @@ pages:
|
||||
rules:
|
||||
- if: '$JOB_STOP_GITLAB_PAGES'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: $CI_COMMIT_TAG
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == "development" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
- if: # condition_dev_branch_push
|
||||
$CI_COMMIT_BRANCH == "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "mkdocs.yaml"
|
||||
- "mkdocs.yml"
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
changes:
|
||||
paths:
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
compare_to: 'master'
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != "master" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
|
||||
|
||||
- if: # condition_not_master_or_dev_push
|
||||
$CI_COMMIT_BRANCH != "master" &&
|
||||
$CI_COMMIT_BRANCH != "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "mkdocs.yaml"
|
||||
- "mkdocs.yml"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- when: never
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
changes:
|
||||
paths:
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
compare_to: 'development'
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
Reference in New Issue
Block a user