Newer
Older
# https://www.drupal.org/drupalorg/docs/drupal-ci/customizing-drupalci-testing
# Copied from https://git.drupalcode.org/project/ckeditor5/-/blob/c68be57fbc2c29969e9726ec932af3f0e80c3dd9/drupalci.yml
# cspell:disable
build:
assessment:

Ted Bowman
committed
# validate_codebase:
# automatic_updates code quality checking matches that of Drupal core: it is checked by container_command.commit_checks.
testing:
# Run code quality checks.
container_command.commit-checks:
commands:
# Copy core's checking script into this contrib module.
- "cp /var/www/html/core/scripts/dev/commit-code-check.sh modules/contrib/automatic_updates/"
# Comply with core's checking script file permissions expectations.
- chmod 644 modules/contrib/automatic_updates/
# Rewrite $TOP_LEVEL/core since $TOP_LEVEL now refers to the contrib module.
- sed -i "s/\$TOP_LEVEL\/core/\/var\/www\/html\/core/" modules/contrib/automatic_updates/commit-code-check.sh
# Ensure the remainder of the script runs from the script's directory and not the current working directory.
- sed -i "s/# Gets list of files to check./cd \"\$\(dirname \"\$0\"\)\";/" modules/contrib/automatic_updates/commit-code-check.sh
# When constructing $FILES, ignore the `commit-code-check.sh` file we just copied.
- sed -i "s/--exclude=vendor/--exclude=vendor --exclude=commit-code-check.sh/" modules/contrib/automatic_updates/commit-code-check.sh
# vendor/bin/phpcs now needs to be prefixed. And $TOP_LEVEL/vendor needs to be rewritten.
- sed -i "s/vendor\/bin\/phpcs/\/var\/www\/html\/vendor\/bin\/phpcs/" modules/contrib/automatic_updates/commit-code-check.sh
- sed -i "s/\$TOP_LEVEL\/vendor/\/var\/www\/html\/vendor/" modules/contrib/automatic_updates/commit-code-check.sh
# Disable all JS compile checks until we've matched core's build process.
# @todo Remove this in https://www.drupal.org/project/automatic_updates/issues/3221082.
- sed -i "s/COMPILE_CHECK=1/COMPILE_CHECK=0/" modules/contrib/automatic_updates/commit-code-check.sh
- sed -i "s/core\/scripts\/js/js/" modules/contrib/automatic_updates/commit-code-check.sh
# Uncomment to Check all files
#- sed -i "s/git diff --name-only HEAD~1 HEAD/find \* -type f -not -path \"\.\/\.git\*\"/" modules/contrib/automatic_updates/commit-code-check.sh
# Make cspell examine our files.
- sed -i "s/yarn run -s spellcheck/yarn run -s spellcheck --root \$TOP_LEVEL/" modules/contrib/automatic_updates/commit-code-check.sh
# Add our words to the dictionary.
- cat modules/contrib/automatic_updates/dictionary.txt >> core/misc/cspell/dictionary.txt
# After all of the shenanigans above, we're finally ready to run core's `commit-code-check.sh`! :)
- "modules/contrib/automatic_updates/commit-code-check.sh --drupalci"
# Restore the original permissions.
- chmod 777 modules/contrib/automatic_updates/

Adam G-H
committed
# Disable the PCRE engine's JIT, since it causes Composer to die during the
# update process, but only on Drupal CI, and for reasons that are essentially
# impossible to trace into. The PCRE JIT is not necessary for Automatic Updates
# to work correctly, and disabling it is a known workaround.
# @see pcre.ini
- sudo cp modules/contrib/automatic_updates/pcre.ini /usr/local/etc/php/conf.d
halt-on-fail: true
# run_tests task is executed several times in order of performance speeds.
# halt-on-fail can be set on the run_tests tasks in order to fail fast.
# suppress-deprecations is false in order to be alerted to usages of
# deprecated code.
run_tests.phpunit:
types: 'PHPUnit-Unit'
testgroups: '--all'
suppress-deprecations: false
halt-on-fail: false
run_tests.kernel:
types: 'PHPUnit-Kernel'
testgroups: '--all'
suppress-deprecations: false
halt-on-fail: false
run_tests.build:
# Limit concurrency due to disk space concerns.
concurrency: 15
types: 'PHPUnit-Build'
testgroups: '--all'
suppress-deprecations: false
halt-on-fail: false
run_tests.functional:
types: 'PHPUnit-Functional'
testgroups: '--all'
suppress-deprecations: false
halt-on-fail: false
# Functional JavaScript tests require a concurrency of 1 because there is
# only one instance of PhantomJS on the testbot machine.
#run_tests.javascript:
# concurrency: 1
# types: 'PHPUnit-FunctionalJavascript'
# testgroups: '--all'
# suppress-deprecations: false
# halt-on-fail: false