Push almost all pipeline definition to a new include
This lets us make changes and have almost all projects follow along without their intervention.
With this PR an implementing project just puts the following stanza in their .gitlab-ci.yml
include:
# This include centralizes our CI "golden path" https://docs.gitlab.com/ee/ci/yaml/#includefile
- project: 'project/gitlab_templates'
ref: $_GITLAB_TEMPLATES_REF
file:
- '/includes/include.drupalci.main.yml'
- '/includes/include.drupalci.variables.yml'
- '/includes/include.drupalci.workflows.yml'
This MR also:
- Facilitates matrix testing by making it easy to reuse the phpunit job definition.
- Makes it possible to disable a job via env variable
- Adds --no-interaction to
phpunit
command - Copies in the default phpcs config
- Simplify by not using composer scripts.
- Use disclosure triangle to hide printing of env vars in the Console. This tidies our Console log.
- Adds Nightwatch testing
- Eslint/Stylelint only run when there is work to do
Edited by Moshe Weitzman