diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 741d4f59f623b4acc32c6be23e1ddb4710737c8a..398dc6d446330ecfd1fe474dfe09d3f31de9e31d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,6 +20,10 @@ before_script: - apt-get -qq install -y python3-virtualenv python3 python3-dev python3-pip gettext default-mysql-client default-libmysqlclient-dev - export DJANGO_SETTINGS_MODULE=AKPlanning.settings_ci - ./Utils/setup.sh --prod + - mkdir -p public/badges public/lint + - echo undefined > public/badges/$CI_JOB_NAME.score + - source venv/bin/activate + - pip install pylint-gitlab - mysql --version check: @@ -48,3 +52,32 @@ test: coverage_format: cobertura path: coverage.xml junit: unit.xml + +lint: + stage: test + script: + - pylint --exit-zero --output-format=text $(find -type f -name "*.py" ! -path "**/venv/**") | tee /tmp/pylint.txt + - sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' /tmp/pylint.txt > public/badges/$CI_JOB_NAME.score + - pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter $(find -type f -name "*.py" ! -path "**/venv/**") > codeclimate.json + - pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter $(find -type f -name "*.py" ! -path "**/venv/**") > public/lint/index.html + after_script: + - | + echo "Linting score: $(cat public/badges/$CI_JOB_NAME.score)" + artifacts: + paths: + - public + reports: + codequality: codeclimate.json + when: always + +pages: + stage: deploy + image: alpine:latest + script: + - echo + artifacts: + paths: + - public + only: + refs: + - main