#!/usr/bin/env bash # Do not edit this file. It is automatically generated by https://www.oliverdavies.uk/build-configs. set -o errexit set -o pipefail # 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 } # Run a command within the php container. function cmd { docker compose exec php "${@}" } 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 [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 start { cp -v --no-clobber .env.example .env docker compose up -d } function stop { docker compose down } function test:commit { 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}" "${@}" } # Include any local tasks. [[ -e run.local ]] && source run.local TIMEFORMAT=$'\nTask completed in %3lR' time "${@:-help}" # vim: ft=bash