build-configs(update)
This commit is contained in:
parent
25bb2f1d4e
commit
cd8bbdbb97
6 changed files with 159 additions and 147 deletions
114
.gitignore
vendored
114
.gitignore
vendored
|
|
@ -1,79 +1,39 @@
|
||||||
# Ignore directories generated by Composer
|
# Do not edit this file. It is automatically generated by https://www.oliverdavies.uk/build-configs.
|
||||||
/bin
|
|
||||||
/drush/contrib/
|
|
||||||
/vendor/
|
|
||||||
/web/core/
|
|
||||||
/web/modules/contrib/
|
|
||||||
/web/themes/contrib/
|
|
||||||
/web/profiles/contrib/
|
|
||||||
/web/libraries/
|
|
||||||
|
|
||||||
# Ignore composer.lock as this is template project
|
.editorconfig
|
||||||
/composer.lock
|
.env
|
||||||
|
.gitattributes
|
||||||
|
vendor/
|
||||||
|
web/.csslintrc
|
||||||
|
web/.eslintignore
|
||||||
|
web/.eslintrc.json
|
||||||
|
web/.ht.router.php
|
||||||
|
web/.htaccess
|
||||||
|
web/INSTALL.txt
|
||||||
|
web/README.md
|
||||||
|
web/autoload.php
|
||||||
|
web/core/
|
||||||
|
web/example.gitignore
|
||||||
|
web/index.php
|
||||||
|
web/modules/README.txt
|
||||||
|
web/modules/contrib/
|
||||||
|
web/profiles/README.txt
|
||||||
|
web/robots.txt
|
||||||
|
web/sites/*/files/
|
||||||
|
web/sites/*/private/
|
||||||
|
web/sites/*/services*.yml
|
||||||
|
web/sites/*/settings*.php
|
||||||
|
web/sites/README.txt
|
||||||
|
web/sites/default/default.services.yml
|
||||||
|
web/sites/default/default.settings.php
|
||||||
|
web/sites/development.services.yml
|
||||||
|
web/sites/example.settings.local.php
|
||||||
|
web/sites/example.sites.php
|
||||||
|
web/sites/simpletest/
|
||||||
|
web/themes/README.txt
|
||||||
|
web/themes/contrib/
|
||||||
|
web/update.php
|
||||||
|
web/web.config
|
||||||
|
|
||||||
# Ignore sensitive information
|
# Docker
|
||||||
/web/sites/*/settings*.php
|
/docker-compose.override.yml
|
||||||
/web/sites/*/services*.yml
|
|
||||||
|
|
||||||
# Ignore Drupal's file directory
|
|
||||||
/web/sites/*/files/
|
|
||||||
|
|
||||||
# Ignore scaffold files
|
|
||||||
/.editorconfig
|
|
||||||
/.gitattributes
|
|
||||||
/web/.csslintrc
|
|
||||||
/web/.eslintignore
|
|
||||||
/web/.eslintrc.json
|
|
||||||
/web/.gitignore
|
|
||||||
/web/.ht.router.php
|
|
||||||
/web/.htaccess
|
|
||||||
/web/INSTALL.txt
|
|
||||||
/web/README.md
|
|
||||||
/web/README.txt
|
|
||||||
/web/autoload.php
|
|
||||||
/web/example.gitignore
|
|
||||||
/web/index.php
|
|
||||||
/web/modules/README.txt
|
|
||||||
/web/profiles/README.txt
|
|
||||||
/web/robots.txt
|
|
||||||
/web/sites/README.txt
|
|
||||||
/web/sites/default/default.services.yml
|
|
||||||
/web/sites/default/default.settings.php
|
|
||||||
/web/sites/development.services.yml
|
|
||||||
/web/sites/example.settings.local.php
|
|
||||||
/web/sites/example.sites.php
|
|
||||||
/web/themes/README.txt
|
|
||||||
/web/update.php
|
|
||||||
/web/web.config
|
|
||||||
|
|
||||||
# Ignore SimpleTest multi-site environment
|
|
||||||
/web/sites/simpletest
|
|
||||||
|
|
||||||
# Ignore IDE files
|
|
||||||
.idea/
|
|
||||||
.vscode/
|
|
||||||
|
|
||||||
# Ignore .env files as they are personal
|
|
||||||
/.env
|
|
||||||
|
|
||||||
# Ignore DB dumps
|
|
||||||
*.sql
|
|
||||||
*.sql.gz
|
|
||||||
*.mysql
|
|
||||||
*.mysql.gz
|
|
||||||
|
|
||||||
# Ignore Lando overrides
|
|
||||||
.lando.local.yml
|
|
||||||
|
|
||||||
# Ignore Lando Solr config
|
|
||||||
/.lando/solr
|
|
||||||
|
|
||||||
# Ignore temp files
|
|
||||||
/.phpunit.result.cache
|
|
||||||
|
|
||||||
# Ignore ddev configuration folders
|
|
||||||
.ddev/.global_commands/
|
|
||||||
.ddev/commands/
|
|
||||||
.ddev/homeadditions/
|
|
||||||
.ddev/providers/
|
|
||||||
.ddev/xhprof/
|
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,7 @@ services:
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
db-data: {}
|
db-data: {}
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
web:
|
web:
|
||||||
external: true
|
external: true
|
||||||
|
|
|
||||||
67
justfile
67
justfile
|
|
@ -1,67 +0,0 @@
|
||||||
# Do not edit this file. It is automatically generated by https://www.oliverdavies.uk/build-configs.
|
|
||||||
|
|
||||||
|
|
||||||
default:
|
|
||||||
@just --list
|
|
||||||
|
|
||||||
# Start the project
|
|
||||||
start:
|
|
||||||
cp -v --no-clobber .env.example .env
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
# Stop the project
|
|
||||||
stop:
|
|
||||||
docker compose down
|
|
||||||
|
|
||||||
composer *args:
|
|
||||||
just _exec php composer {{ args }}
|
|
||||||
|
|
||||||
alias phpunit := test
|
|
||||||
|
|
||||||
test *args:
|
|
||||||
just _exec php phpunit --colors=always {{ args }}
|
|
||||||
|
|
||||||
test-watch *args:
|
|
||||||
nodemon --ext "*" --watch "." --exec "just test || exit 1" --ignore */sites/simpletest
|
|
||||||
|
|
||||||
drush *args:
|
|
||||||
just _exec php drush {{ args }}
|
|
||||||
|
|
||||||
install *args:
|
|
||||||
just _exec php drush site:install -y {{ args }}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Enable or disable Git hooks
|
|
||||||
git-hooks command:
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
case "{{ command }}" in
|
|
||||||
"on")
|
|
||||||
echo "Enabling Git hooks..."
|
|
||||||
git config core.hooksPath .githooks
|
|
||||||
;;
|
|
||||||
"off")
|
|
||||||
echo "Disabling Git hooks..."
|
|
||||||
git config --unset core.hooksPath
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Error: Invalid argument. Must be either 'on' or 'off'"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
_exec +args:
|
|
||||||
docker compose exec -T {{ args }}
|
|
||||||
|
|
||||||
_run service command *args:
|
|
||||||
docker compose run \
|
|
||||||
--entrypoint {{ command }} \
|
|
||||||
--no-deps \
|
|
||||||
--rm \
|
|
||||||
-T \
|
|
||||||
{{ service }} {{ args }}
|
|
||||||
|
|
||||||
# vim: ft=just
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
<rule ref="DrupalPractice"/>
|
<rule ref="DrupalPractice"/>
|
||||||
|
|
||||||
<rule ref="Drupal">
|
<rule ref="Drupal">
|
||||||
<exclude name="Drupal.Commenting.ClassComment.Missing"/>
|
<exclude name="Drupal.Commenting.ClassComment.Missing"/>
|
||||||
<exclude name="Drupal.Commenting.DataTypeNamespace.DataTypeNamespace"/>
|
<exclude name="Drupal.Commenting.DataTypeNamespace.DataTypeNamespace"/>
|
||||||
<exclude name="Drupal.Commenting.Deprecated"/>
|
<exclude name="Drupal.Commenting.Deprecated"/>
|
||||||
|
|
@ -28,4 +28,4 @@
|
||||||
<exclude name="Drupal.NamingConventions.ValidFunctionName.ScopeNotCamelCaps"/>
|
<exclude name="Drupal.NamingConventions.ValidFunctionName.ScopeNotCamelCaps"/>
|
||||||
<exclude name="DrupalPractice.Objects.StrictSchemaDisabled.StrictConfigSchema"/>
|
<exclude name="DrupalPractice.Objects.StrictSchemaDisabled.StrictConfigSchema"/>
|
||||||
</rule>
|
</rule>
|
||||||
</ruleset>
|
</ruleset>
|
||||||
|
|
|
||||||
|
|
@ -6,4 +6,4 @@ parameters:
|
||||||
- *Test.php
|
- *Test.php
|
||||||
- *TestBase.php
|
- *TestBase.php
|
||||||
paths:
|
paths:
|
||||||
- src
|
|
||||||
|
|
|
||||||
118
run
Executable file
118
run
Executable file
|
|
@ -0,0 +1,118 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Do not edit this file. It is automatically generated by https://www.oliverdavies.uk/build-configs.
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
# Run automated tests as part of the Continuous Integration (CI) pipeline.
|
||||||
|
function ci:test {
|
||||||
|
lint:dockerfile
|
||||||
|
|
||||||
|
docker compose version
|
||||||
|
|
||||||
|
docker network create traefik_proxy
|
||||||
|
|
||||||
|
cp --no-clobber .env.example .env
|
||||||
|
|
||||||
|
docker compose build --progress plain
|
||||||
|
|
||||||
|
docker compose up --detach
|
||||||
|
docker compose logs
|
||||||
|
|
||||||
|
composer install --quiet --no-progress
|
||||||
|
|
||||||
|
test --testdox
|
||||||
|
|
||||||
|
quality
|
||||||
|
}
|
||||||
|
|
||||||
|
# Run a command within the php container.
|
||||||
|
function cmd {
|
||||||
|
docker compose exec php "${@}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function coding-standards {
|
||||||
|
cmd phpcs "${@}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function composer {
|
||||||
|
_exec php composer "${@}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function drush {
|
||||||
|
_exec php drush "${@}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function git-hooks:off {
|
||||||
|
git config --unset core.hooksPath
|
||||||
|
}
|
||||||
|
|
||||||
|
function git-hooks:on {
|
||||||
|
git config core.hooksPath .githooks
|
||||||
|
}
|
||||||
|
|
||||||
|
# Display a list of all available commands.
|
||||||
|
function help {
|
||||||
|
printf "%s <task> [args]\n\nTasks:\n" "${0}"
|
||||||
|
|
||||||
|
compgen -A function | grep -v "^_" | cat -n
|
||||||
|
|
||||||
|
printf "\nExtended help:\n Each task has comments for general usage\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
function lint:dockerfile {
|
||||||
|
docker container run --rm -i \
|
||||||
|
hadolint/hadolint hadolint --ignore DL3008 --ignore DL3059 -t style "${@}" - < Dockerfile
|
||||||
|
}
|
||||||
|
|
||||||
|
function quality {
|
||||||
|
coding-standards
|
||||||
|
static-analysis
|
||||||
|
}
|
||||||
|
|
||||||
|
function start {
|
||||||
|
cp -v --no-clobber .env.example .env
|
||||||
|
|
||||||
|
docker compose up -d
|
||||||
|
}
|
||||||
|
|
||||||
|
function static-analysis {
|
||||||
|
cmd phpstan --memory-limit=-1 --no-progress "${@}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function stop {
|
||||||
|
docker compose down
|
||||||
|
}
|
||||||
|
|
||||||
|
function test {
|
||||||
|
_exec php phpunit --colors=always "${@}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function test:commit {
|
||||||
|
test --testdox --testsuite functional
|
||||||
|
test --testdox --testsuite kernel
|
||||||
|
test --testdox --testsuite unit
|
||||||
|
|
||||||
|
quality
|
||||||
|
}
|
||||||
|
|
||||||
|
function _exec {
|
||||||
|
docker compose exec -T "${@}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function _run {
|
||||||
|
local service="${1}"
|
||||||
|
local command="${2}"
|
||||||
|
|
||||||
|
docker compose run \
|
||||||
|
--entrypoint "${command}" \
|
||||||
|
--no-deps \
|
||||||
|
--rm \
|
||||||
|
-T \
|
||||||
|
"${service}" "${@}"
|
||||||
|
}
|
||||||
|
|
||||||
|
TIMEFORMAT=$'\nTask completed in %3lR'
|
||||||
|
time "${@:-help}"
|
||||||
|
|
||||||
|
# vim: ft=bash
|
||||||
Reference in a new issue