diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 756d5f6..e367d4f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,22 +33,20 @@ jobs: envs_test="[" envs_push="[" - update_all= + update_all=${{ github.event_name == 'schedule' && 'true' || '' }} if git diff --name-only HEAD~1 HEAD -- | grep -E "flake.nix|flake.lock|.github" ; then - echo detected major change + echo "detected major change" update_all=true fi while IFS= read manifest_path; do env_path=$(realpath -s $(dirname $manifest_path)/../..) rel_env_path="${env_path#$PWD/}" - if [ -f "$env_path/test.sh" ]; then + echo "env_path=$env_path" + echo "rel_env_path=$rel_env_path" + if [ -f "$env_path/test.sh" ] && [ "$update_all" == "true" ] || ( git diff --name-only HEAD~1 HEAD | grep -q "$rel_env_path/" ; ); then name=$(basename $env_path) - if [ "$update_all" != "true" ] && ( git diff --name-only HEAD~1 HEAD | grep -qv "$rel_env_path/" ; ) ; then - continue - fi - num_of_services=$(yq -oy '.services | length' $manifest_path) start_services="true" if [ "$num_of_services" -eq 0 ]; then diff --git a/dotenv/test.sh b/dotenv/test.sh index c390160..ada2f5e 100755 --- a/dotenv/test.sh +++ b/dotenv/test.sh @@ -4,9 +4,32 @@ set -eo pipefail MULTILINE_TEST=$(echo -e "ONE\nTWO\nTHREE") -if [ "$PING" != "PONG" ]; then exit 1; fi -if [ "$MULTILINE" != "$(echo -e 'ONE\nTWO\nTHREE')" ]; then exit 1; fi -if [ "$SECRET_KEY" != "YOURSECRETKEYGOESHERE" ]; then exit 1; fi -if [ "$SECRET_HASH" != "something-with-a-#-hash" ]; then exit 1; fi +if [ "$PING" != "PONG" ]; then + echo "Error: ping poing failed" + echo " Left -> $PING" + echo " Right -> PONG" + exit 1 +fi + +if [ "$MULTILINE" != "$(echo -e 'ONE\nTWO\nTHREE')" ]; then + echo "Error: multiline failed" + echo " Left -> $MULTILINE" + echo " Right -> $(echo -e 'ONE\nTWO\nTHREE')" + exit 1 +fi + +if [ "$SECRET_KEY" != "YOURSECRETKEYGOESHERE" ]; then + echo "Error: secret key failed" + echo " Left -> $SECRET_KEY" + echo " Right -> YOURSECRETKEY" + exit 1 +fi + +if [ "$SECRET_HASH" != "something-with-a-#-hash" ]; then + echo "Error: secret hash failed" + echo " Left -> $SECRET_HASH" + echo " Right -> something-with-a-#-hash" + exit 1 +fi echo ">>> All tests pass" diff --git a/flake.nix b/flake.nix index c3bcc64..ae54636 100644 --- a/flake.nix +++ b/flake.nix @@ -43,6 +43,9 @@ export TESTDIR="$(mktemp -d --suffix floxenvs-${name}-example)" cp -R ${path}/* $TESTDIR cp -R ${path}/.flox* $TESTDIR + if [ -f ${path}/.env ]; then + cp -R ${path}/.env $TESTDIR + fi chown -R $(whoami) $TESTDIR/.flox* chmod -R +w $TESTDIR/.flox* diff --git a/python-poetry/test.sh b/python-poetry/test.sh index 66a021e..cb4e11a 100755 --- a/python-poetry/test.sh +++ b/python-poetry/test.sh @@ -19,3 +19,4 @@ echo ">>> pyjokes python package installed" pyjokes echo ">>> pyjokes binary works" +