Skip to content
Snippets Groups Projects
Verified Commit d170a1e0 authored by Théodore Biadala's avatar Théodore Biadala
Browse files

Issue #3463479 by catch, nod_, Spokje, larowlan: Merge the build and lint...

Issue #3463479 by catch, nod_, Spokje, larowlan: Merge the build and lint stages in core MR pipelines

(cherry picked from commit 963de909)
parent cce51ccf
No related branches found
No related tags found
10 merge requests!10602Issue #3438769 by vinmayiswamy, antonnavi, michelle, amateescu: Sub workspace does not clear,!10301Issue #3469309 by mstrelan, smustgrave, moshe weitzman: Use one-time login...,!10187Issue #3487488 by dakwamine: ExtensionMimeTypeGuesser::guessMimeType must support file names with "0" (zero) like foo.0.zip,!9929Issue #3445469 by pooja_sharma, smustgrave: Add additional test coverage for...,!9787Resolve issue 3479427 - bootstrap barrio issue under Windows,!9742Issue #3463908 by catch, quietone: Split OptionsFieldUiTest into two,!9526Issue #3458177 by mondrake, catch, quietone, godotislate, longwave, larowlan,...,!6502Draft: Resolve #2938524 "Plach testing issue",!38582585169-10.1.x,!3226Issue #2987537: Custom menu link entity type should not declare "bundle" entity key
Pipeline #237177 passed with warnings
Pipeline: drupal

#237194

    Pipeline: drupal

    #237185

      ......@@ -69,7 +69,6 @@ variables:
      # Stages #
      #############
      stages:
      - 🏗️ Build
      - 🪄 Lint
      - 🗜️ Test
      ......@@ -96,11 +95,7 @@ default:
      .with-composer: &with-composer
      needs:
      - '📦️ Composer'
      .with-yarn: &with-yarn
      needs:
      - '📦️ Yarn'
      - '🧹 PHP Coding standards (PHPCS)'
      .default-job-settings-lint: &default-job-settings-lint
      rules:
      ......@@ -313,65 +308,22 @@ default:
      needs: [ '[Daily] PHP 8.1 PostgreSQL 14.1' ]
      <<: [ *run-daily ]
      ################
      # Build Jobs for linting
      ################
      '📦️ Composer':
      variables:
      KUBERNETES_CPU_REQUEST: "1"
      stage: 🏗️ Build
      cache:
      key:
      files:
      - ./composer.json
      - ./composer.lock
      paths:
      - ./vendor
      artifacts:
      expire_in: 1 week
      expose_as: 'web-vendor'
      paths:
      - vendor/
      script:
      - composer validate
      - composer install --optimize-autoloader
      - if [ -n "$COMPOSER_UPDATE" ]; then
      composer update --optimize-autoloader;
      composer outdated;
      fi
      '📦️ Yarn':
      variables:
      KUBERNETES_CPU_REQUEST: "2"
      stage: 🏗️ Build
      cache:
      key:
      files:
      - ./core/package.json
      - ./core/yarn.lock
      paths:
      - ./core/node_modules
      artifacts:
      expire_in: 1 week
      expose_as: 'yarn-vendor'
      paths:
      - core/node_modules/
      script:
      - cd core
      - corepack enable
      - yarn install
      ################
      # Lint Jobs
      ################
      '🧹 PHP Static Analysis (phpstan)':
      <<: [ *with-composer, *default-job-settings-lint ]
      <<: [ *default-job-settings-lint ]
      stage: 🪄 Lint
      variables:
      KUBERNETES_CPU_REQUEST: "16"
      script:
      - composer validate
      - composer install --optimize-autoloader
      - if [ -n "$COMPOSER_UPDATE" ]; then
      composer update --optimize-autoloader;
      composer outdated;
      fi
      - vendor/bin/phpstan --version
      # Rely on PHPStan caching to execute analysis multiple times without performance drawback.
      # Output a copy in junit.
      ......@@ -397,19 +349,28 @@ default:
      - core/.phpstan-baseline.php
      '🧹 PHP Coding standards (PHPCS)':
      <<: [ *with-composer, *default-job-settings-lint ]
      <<: [ *default-job-settings-lint ]
      stage: 🪄 Lint
      variables:
      KUBERNETES_CPU_REQUEST: "16"
      script:
      - composer validate
      - composer install --optimize-autoloader
      - if [ -n "$COMPOSER_UPDATE" ]; then
      composer update --optimize-autoloader;
      composer outdated;
      fi
      - vendor/bin/phpcs --version
      - composer phpcs -- -s --report-full --report-summary --report-\\Micheh\\PhpCodeSniffer\\Report\\Gitlab=phpcs-quality-report.json
      artifacts:
      expire_in: 1 week
      expose_as: 'web-vendor'
      paths:
      - vendor/
      reports:
      codequality: phpcs-quality-report.json
      '🧹 JavaScript linting (eslint)':
      <<: [ *with-yarn ]
      stage: 🪄 Lint
      variables:
      KUBERNETES_CPU_REQUEST: "2"
      ......@@ -429,14 +390,14 @@ default:
      script:
      - cd core
      - corepack enable
      - yarn run check:ckeditor5
      - yarn run lint:core-js-passing --format gitlab
      - yarn install
      - yarn run -s check:ckeditor5
      - yarn run -s lint:core-js-passing --format gitlab
      artifacts:
      reports:
      codequality: eslint-quality-report.json
      '🧹 CSS linting (stylelint)':
      <<: [ *with-yarn ]
      stage: 🪄 Lint
      variables:
      KUBERNETES_CPU_REQUEST: "2"
      ......@@ -455,6 +416,7 @@ default:
      script:
      - corepack enable
      - cd core
      - yarn install
      - yarn run build:css --check
      - yarn run lint:css --color --custom-formatter=node_modules/stylelint-formatter-gitlab
      artifacts:
      ......@@ -462,7 +424,7 @@ default:
      codequality: stylelint-quality-report.json
      '📔 Spell-checking':
      <<: [ *with-yarn, *default-job-settings-lint ]
      <<: [ *default-job-settings-lint ]
      stage: 🪄 Lint
      variables:
      KUBERNETES_CPU_REQUEST: "2"
      ......@@ -474,8 +436,21 @@ default:
      fi;
      - cd core
      - corepack enable
      - yarn install
      - git diff ${CI_MERGE_REQUEST_TARGET_BRANCH_SHA:-$CI_MERGE_REQUEST_DIFF_BASE_SHA} --name-only 2>1 > /dev/null || (echo "Warning, cannot find changed files, converting to full clone." & (git fetch --unshallow --quiet && echo "Fetch successful."))
      - git diff ${CI_MERGE_REQUEST_TARGET_BRANCH_SHA:-$CI_MERGE_REQUEST_DIFF_BASE_SHA} --name-only | sed "s_^_../_" | yarn run -s spellcheck:core --no-must-find-files --file-list stdin
      cache:
      key:
      files:
      - ./core/package.json
      - ./core/yarn.lock
      paths:
      - ./core/node_modules
      artifacts:
      expire_in: 1 week
      expose_as: 'yarn-vendor'
      paths:
      - core/node_modules/
      '📔 Validatable config':
      <<: [ *default-job-settings-lint ]
      ......@@ -484,6 +459,7 @@ default:
      KUBERNETES_CPU_REQUEST: "2"
      # Run on MRs if config schema files have changed, or manually.
      rules:
      - if: $PERFORMANCE_TEST != "1"
      - if: $CI_PIPELINE_SOURCE == "merge_request_event"
      changes:
      - "**/config/schema/*.schema.yml"
      ......
      ......@@ -47,14 +47,14 @@ default:
      .with-composer: &with-composer
      needs:
      - pipeline: $PARENT_PIPELINE_ID
      job: '📦️ Composer'
      job: '🧹 PHP Coding standards (PHPCS)'
      .with-composer-and-yarn: &with-composer-and-yarn
      needs:
      - pipeline: $PARENT_PIPELINE_ID
      job: '📦️ Composer'
      job: '🧹 PHP Coding standards (PHPCS)'
      - pipeline: $PARENT_PIPELINE_ID
      job: '📦️ Yarn'
      job: '📔 Spell-checking'
      variables:
      FF_NETWORK_PER_BUILD: 1
      ......@@ -219,7 +219,7 @@ variables:
      - <<: *with-database
      '🚲 Performance tests':
      <<: [ *with-composer, *default-job-settings ]
      <<: [ *default-job-settings ]
      rules:
      - if: $PERFORMANCE_TEST == "1"
      variables:
      ......@@ -237,6 +237,7 @@ variables:
      [[ $_TARGET_DB == mysql* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql
      [[ $_TARGET_DB == mariadb* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql
      [[ $_TARGET_DB == pgsql* ]] && export SIMPLETEST_DB=pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@database/$POSTGRES_DB?module=pgsql
      - composer install --optimize-autoloader
      - export OTEL_COLLECTOR="$OTEL_COLLECTOR"
      - mkdir -p ./sites/simpletest ./sites/default/files ./build/logs/junit /var/www/.composer
      - chown -R www-data:www-data ./sites ./build/logs/junit ./vendor /var/www/
      ......
      0% Loading or .
      You are about to add 0 people to the discussion. Proceed with caution.
      Finish editing this message first!
      Please register or to comment