diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cb2dd3f..9288796 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,11 +1,11 @@ -image: $CI_REGISTRY/service-web-lab/ldc-web-images-docker/ldcweb-qa:php7.3-1.0 - stages: - Security - CodingStandards + - Builds composer-security: stage: Security + image: $CI_REGISTRY/service-web-lab/ldc-web-images-docker/ldcweb-qa:php7.3-1.0 script: - local-php-security-checker --format=json --path=./composer.lock > composer-security-checker-report.json artifacts: @@ -14,9 +14,13 @@ composer-security: paths: - composer-security-checker-report.json allow_failure: true + needs: [] npm-security: stage: Security + image: node:17.9.1 + before_script: + - npm install --location=global audit-ci@^6 script: - audit-ci -p npm -o json > npm-security-checker-report.json artifacts: @@ -25,9 +29,11 @@ npm-security: paths: - npm-security-checker-report.json allow_failure: true + needs: [] phpcs: stage: CodingStandards + image: $CI_REGISTRY/service-web-lab/ldc-web-images-docker/ldcweb-qa:php7.3-1.0 before_script: - composer config gitlab-token.gitlab.com $CI_DEPLOY_USER $CI_DEPLOY_PASSWORD - composer install @@ -43,4 +49,70 @@ phpcs: - phpcs-report.xml reports: junit: phpcs-report.xml - allow_failure: false \ No newline at end of file + allow_failure: false + needs: + - composer-security + - npm-security + +eslint: + stage: CodingStandards + image: node:17.9.1 + before_script: + - npm install + cache: + paths: + - node_modules/ + script: + - npm run eslint-ci --silent > eslint-report.xml + artifacts: + when: on_failure + expose_as: 'eslint' + paths: + - eslint-report.xml + reports: + junit: eslint-report.xml + allow_failure: false + needs: + - composer-security + - npm-security + +stylelint: + stage: CodingStandards + image: node:17.9.1 + before_script: + - npm install + cache: + paths: + - node_modules/ + script: + - npm run stylelint-ci --silent > stylelint-report.json + artifacts: + when: on_failure + expose_as: 'stylelint' + paths: + - stylelint-report.json + allow_failure: false + needs: + - composer-security + - npm-security + +front-build: + stage: Builds + image: node:17.9.1 + before_script: + - npm install + cache: + paths: + - node_modules/ + script: + - npm run prod > front-build-report.json + artifacts: + when: on_failure + expose_as: 'front-build-report' + paths: + - front-build-report.json + allow_failure: false + needs: + - phpcs + - eslint + - stylelint \ No newline at end of file