Add just and justfile
This commit is contained in:
parent
0d774daca0
commit
5029aab415
3 changed files with 23 additions and 49 deletions
87
justfile
Normal file
87
justfile
Normal file
|
@ -0,0 +1,87 @@
|
|||
_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
|
||||
|
||||
./build-configs cache:clear
|
||||
./build-configs cache:warmup
|
||||
|
||||
# Generate the phar file.
|
||||
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 ./run test:snapshots
|
||||
nix develop --command 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
|
Loading…
Add table
Add a link
Reference in a new issue