Loading .gitlab-ci.yml +38 −62 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ variables: # Stages # ############# stages: - 🏗️ Build - 🪄 Lint - 🗜️ Test Loading @@ -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: Loading Loading @@ -314,25 +309,14 @@ default: <<: [ *run-daily ] ################ # Build Jobs for linting # Lint Jobs ################ '📦️ Composer': '🧹 PHP Static Analysis (phpstan)': <<: [ *default-job-settings-lint ] stage: 🪄 Lint 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/ KUBERNETES_CPU_REQUEST: "16" script: - composer validate - composer install --optimize-autoloader Loading @@ -340,38 +324,6 @@ default: 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 ] stage: 🪄 Lint variables: KUBERNETES_CPU_REQUEST: "16" script: - vendor/bin/phpstan --version # Rely on PHPStan caching to execute analysis multiple times without performance drawback. # Output a copy in junit. Loading @@ -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" Loading @@ -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" Loading @@ -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: Loading @@ -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" Loading @@ -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 ] Loading @@ -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" Loading .gitlab-ci/pipeline.yml +5 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -219,7 +219,7 @@ variables: - <<: *with-database '🚲 Performance tests': <<: [ *with-composer, *default-job-settings ] <<: [ *default-job-settings ] rules: - if: $PERFORMANCE_TEST == "1" variables: Loading @@ -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/ Loading Loading
.gitlab-ci.yml +38 −62 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ variables: # Stages # ############# stages: - 🏗️ Build - 🪄 Lint - 🗜️ Test Loading @@ -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: Loading Loading @@ -314,25 +309,14 @@ default: <<: [ *run-daily ] ################ # Build Jobs for linting # Lint Jobs ################ '📦️ Composer': '🧹 PHP Static Analysis (phpstan)': <<: [ *default-job-settings-lint ] stage: 🪄 Lint 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/ KUBERNETES_CPU_REQUEST: "16" script: - composer validate - composer install --optimize-autoloader Loading @@ -340,38 +324,6 @@ default: 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 ] stage: 🪄 Lint variables: KUBERNETES_CPU_REQUEST: "16" script: - vendor/bin/phpstan --version # Rely on PHPStan caching to execute analysis multiple times without performance drawback. # Output a copy in junit. Loading @@ -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" Loading @@ -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" Loading @@ -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: Loading @@ -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" Loading @@ -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 ] Loading @@ -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" Loading
.gitlab-ci/pipeline.yml +5 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -219,7 +219,7 @@ variables: - <<: *with-database '🚲 Performance tests': <<: [ *with-composer, *default-job-settings ] <<: [ *default-job-settings ] rules: - if: $PERFORMANCE_TEST == "1" variables: Loading @@ -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/ Loading