diff --git a/action.yml b/action.yml index 35ba0bd..df37a2c 100644 --- a/action.yml +++ b/action.yml @@ -97,6 +97,17 @@ runs: if [[ "${{ inputs.phpunit_fail_on_warning }}" == "true" ]]; then PHPUNIT_OPTIONS="$PHPUNIT_OPTIONS --fail-on-warning" fi + # --exclude-filter added in PHPUnit 11 + if (( "$INT_VERSION" >= 110300 )); then + # Special filtering for silverstripe/framework testsuites + if [[ "$PHPUNIT_SUITE" == "framework-orm" ]]; then + PHPUNIT_OPTIONS="$PHPUNIT_OPTIONS --filter /ORM/" + fi + if [[ "$PHPUNIT_SUITE" == "framework-core" ]]; then + PHPUNIT_OPTIONS="$PHPUNIT_OPTIONS --exclude-filter /ORM/" + fi + fi + echo "PHPUNIT_OPTIONS is $PHPUNIT_OPTIONS" vendor/bin/phpunit $PHPUNIT_OPTIONS echo "Passed" @@ -195,6 +206,13 @@ runs: echo "Missing .nvmrc" exit 1 fi + # Set nvmdir explicitly before installation. Default dir doesn't work for some reason. + export NVM_DIR="${HOME}/.nvm" + # Installation fails if install dir is specified but doesn't exist + if ! [[ -d "$NVM_DIR" ]]; then + echo "NVM_DIR '$NVM_DIR' doesn't exist - creating it now" + mkdir $NVM_DIR + fi # Remove any sneaky attempts to put __install-nvm.sh into pull-requests if [[ -f __install-nvm.sh ]]; then rm __install-nvm.sh @@ -207,9 +225,8 @@ runs: echo "Error while installing nvm" exit 1 fi - export NVM_DIR="$HOME/.nvm" # this loads nvm into the current terminal - [[ -s "$NVM_DIR/nvm.sh" ]] && \. "$NVM_DIR/nvm.sh" + [[ -s "$NVM_DIR/nvm.sh" ]] && \. "$NVM_DIR/nvm.sh" --no-use ADMIN_NPM_VERSION= if [[ -d vendor/silverstripe/admin ]]; then cd vendor/silverstripe/admin diff --git a/install-nvm.sh b/install-nvm.sh index 3e88dcc..57476fd 100644 --- a/install-nvm.sh +++ b/install-nvm.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash -wget https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh +wget https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh php -r ' - $hash = "dd4b116a7452fc3bb8c0e410ceac27e19b0ba0f900fe2f91818a95c12e92130fdfb8170fec170b9fb006d316f6386f2b"; + $hash = "faff9a72a1c8a202d6ad9b79e124684a8b128a0b3f44bdff0898bb6f4ca18550178cc7d435cfe10b2cc37396075b338d"; if (hash_file("sha384", "install.sh") === $hash) { echo "Installer verified"; } else {