mirror of
https://github.com/opdavies/build-configs.git
synced 2025-01-22 18:27:31 +00:00
88 lines
2.2 KiB
Makefile
88 lines
2.2 KiB
Makefile
_default:
|
|
just --list
|
|
|
|
build:
|
|
just clean
|
|
|
|
# Install dependencies.
|
|
composer validate
|
|
composer install --no-dev --prefer-dist --optimize-autoloader
|
|
composer install --prefer-dist --optimize-autoloader --working-dir ./vendor-bin/box
|
|
|
|
composer dump-env prod
|
|
|
|
./bin/build-configs cache:clear
|
|
./bin/build-configs cache:warmup
|
|
|
|
# Generate the phar file.
|
|
./vendor-bin/box/vendor/bin/box compile --config box.json.dist
|
|
|
|
rm -f .env.local .env.local.php
|
|
|
|
tree dist/
|
|
|
|
# TODO: build a Nix derivation and add it to the store.
|
|
|
|
clean:
|
|
rm -fr dist/* tmp vendor vendor-bin/box/vendor
|
|
touch dist/.keep var/.keep
|
|
|
|
ci-test:
|
|
nix develop --command composer install
|
|
nix develop --command just run-snapshots
|
|
nix develop --command vendor/bin/phpunit --testdox
|
|
|
|
test *args:
|
|
phpunit {{ args }}
|
|
|
|
create-snapshot config:
|
|
#!/usr/bin/env bash
|
|
set -o nounset
|
|
|
|
config_file="tests/snapshots/configs/{{ config }}.yaml"
|
|
output_path="tests/snapshots/output/{{ config }}"
|
|
|
|
cat "${config_file}"
|
|
|
|
rm -fr "${output_path}"
|
|
|
|
./bin/build-configs app:generate --config-file "${config_file}" --output-dir "${output_path}"
|
|
|
|
git status "${output_path}"
|
|
|
|
run-snapshots:
|
|
#!/usr/bin/env bash
|
|
rm -rf .ignored/snapshots
|
|
mkdir -p .ignored/snapshots
|
|
|
|
local configs=(
|
|
# TODO: add more configurations for different types and configurations.
|
|
drupal
|
|
drupal-commerce-kickstart
|
|
drupal-localgov
|
|
fractal
|
|
)
|
|
|
|
for config in "${configs[@]}"; do
|
|
config_file="tests/snapshots/configs/${config}.yaml"
|
|
input_path="tests/snapshots/output/${config}"
|
|
output_path=".ignored/snapshots/output/${config}"
|
|
|
|
cat "${config_file}"
|
|
|
|
./bin/build-configs app:generate --config-file "${config_file}" --output-dir "${output_path}"
|
|
|
|
find "${input_path}" -type f -print0 | while IFS= read -r -d '' original_file; do
|
|
generated_file="${output_path}/${original_file#"${input_path}"/}"
|
|
|
|
if cmp -s "${original_file}" "${generated_file}"; then
|
|
echo "Files match: ${original_file}"
|
|
else
|
|
# TODO: show the diff for all failed files. This will stop after the first failure.
|
|
echo "Files do not match: ${original_file}"
|
|
diff "${original_file}" "${generated_file}"
|
|
exit 1
|
|
fi
|
|
done
|
|
done
|