diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 32d4aae..78e10d4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,6 +19,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Install SVN + run: | + if ! command -v svn > /dev/null; then + sudo apt-get update + sudo apt-get install -y subversion + fi - name: Setup PHP uses: shivammathur/setup-php@v2 with: diff --git a/.github/workflows/wordpress-plugin-asset-update.yml b/.github/workflows/wordpress-plugin-asset-update.yml index 59456dd..7e12d7a 100644 --- a/.github/workflows/wordpress-plugin-asset-update.yml +++ b/.github/workflows/wordpress-plugin-asset-update.yml @@ -10,6 +10,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Install SVN + run: | + if ! command -v svn > /dev/null; then + sudo apt-get update + sudo apt-get install -y subversion + fi - name: Setup PHP uses: shivammathur/setup-php@v2 with: diff --git a/.github/workflows/wordpress-plugin-deploy.yml b/.github/workflows/wordpress-plugin-deploy.yml index 44ec31c..dd724a4 100644 --- a/.github/workflows/wordpress-plugin-deploy.yml +++ b/.github/workflows/wordpress-plugin-deploy.yml @@ -11,6 +11,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Install SVN + run: | + if ! command -v svn > /dev/null; then + sudo apt-get update + sudo apt-get install -y subversion + fi - name: Setup PHP uses: shivammathur/setup-php@v2 with: diff --git a/bin/install-wp-tests.sh b/bin/install-wp-tests.sh index c6f53dc..d2605fe 100755 --- a/bin/install-wp-tests.sh +++ b/bin/install-wp-tests.sh @@ -22,6 +22,17 @@ download() { curl -s "$1" > "$2"; elif [ `which wget` ]; then wget -nv -O "$2" "$1" + else + echo "Error: Neither curl nor wget is installed." + exit 1 + fi +} + +# Check if svn is installed +check_svn_installed() { + if ! command -v svn > /dev/null; then + echo "Error: svn is not installed. Please install svn and try again." + exit 1 fi } @@ -64,6 +75,7 @@ install_wp() { if [[ $WP_VERSION == 'nightly' || $WP_VERSION == 'trunk' ]]; then mkdir -p $TMPDIR/wordpress-trunk rm -rf $TMPDIR/wordpress-trunk/* + check_svn_installed svn export --quiet https://core.svn.wordpress.org/trunk $TMPDIR/wordpress-trunk/wordpress mv $TMPDIR/wordpress-trunk/wordpress/* $WP_CORE_DIR else @@ -108,6 +120,7 @@ install_test_suite() { # set up testing suite mkdir -p $WP_TESTS_DIR rm -rf $WP_TESTS_DIR/{includes,data} + check_svn_installed svn export --quiet --ignore-externals https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/includes/ $WP_TESTS_DIR/includes svn export --quiet --ignore-externals https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/data/ $WP_TESTS_DIR/data fi