diff --git a/.github/workflows/pr-backdrop-tests.yml b/.github/workflows/pr-backdrop-tests.yml index ca0ed52..24ed37c 100644 --- a/.github/workflows/pr-backdrop-tests.yml +++ b/.github/workflows/pr-backdrop-tests.yml @@ -21,6 +21,7 @@ jobs: - examples/backdrop-init - examples/backdrop-mariadb - examples/backdrop-mysql8 + - examples/backdrop-mysql-client - examples/backdrop-nginx lando-version: - 3-edge diff --git a/CHANGELOG.md b/CHANGELOG.md index 558d221..06d2206 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }}) +* Updated `@lando/php` to `^1.11.0` for MySQL client auto-detection fix [#82](https://github.com/lando/backdrop/pull/82) + ## v1.9.0 - [February 18, 2026](https://github.com/lando/backdrop/releases/tag/v1.9.0) * Added dependabot config diff --git a/examples/backdrop-mysql-client/.lando.yml b/examples/backdrop-mysql-client/.lando.yml new file mode 100644 index 0000000..9ffe8ed --- /dev/null +++ b/examples/backdrop-mysql-client/.lando.yml @@ -0,0 +1,10 @@ +name: backdrop-mysql-client +recipe: backdrop +config: + php: '8.4' + database: mysql:8.0 + webroot: web + +# do not remove this +plugins: + "@lando/backdrop": ../.. diff --git a/examples/backdrop-mysql-client/README.md b/examples/backdrop-mysql-client/README.md new file mode 100644 index 0000000..8659457 --- /dev/null +++ b/examples/backdrop-mysql-client/README.md @@ -0,0 +1,69 @@ +# Backdrop MySQL Client Compatibility Example + +This example tests that the backdrop recipe with MySQL correctly auto-detects +and installs the native MySQL client, avoiding SSL/TLS errors and MariaDB dump +format issues when using `bee db-export`. + +See: https://github.com/lando/lando/issues/3833 + +## Start up tests + +Run the following commands to get up and running with this example. + +```bash +# Should download and extract Backdrop +lando poweroff +rm -rf web && mkdir -p web +curl -fsSL https://github.com/backdrop/backdrop/releases/download/1.33.1/backdrop.zip -o /tmp/backdrop.zip +unzip -q /tmp/backdrop.zip -d web +mv web/backdrop/* web/backdrop/.* web/ 2>/dev/null || true +rmdir web/backdrop 2>/dev/null || true +``` + +```bash +# Should start up successfully +lando start +``` + +```bash +# Should install Backdrop with bee +cd web && chmod +x core/scripts/* +lando bee site-install --db-name=backdrop --db-user=backdrop --db-pass=backdrop --db-host=database --username=admin --password=admin --email=test@lando.dev --site-name="MySQL Client Test" --auto +``` + +## Verification commands + +Run the following commands to validate things are rolling as they should. + +```bash +# Should auto-detect MySQL and install the MySQL client (not MariaDB) +lando exec appserver -- mysql --version | grep -qiv "MariaDB" +``` + +```bash +# Should be able to connect to MySQL without SSL errors +lando mysql backdrop -e "SELECT 1" +``` + +```bash +# Should be able to export with bee without SSL errors and use MySQL dump format +cd web +lando bee db-export /tmp/bee-export.sql +lando exec appserver -- bash -c "zcat /tmp/bee-export.sql.gz | head -5" | grep -i "dump" | grep -iq "MySQL" +``` + +```bash +# Should be able to export with db-export without SSL errors +lando db-export --stdout > /tmp/lando-export.sql +head -5 /tmp/lando-export.sql | grep -i "dump" | grep -iq "MySQL" +``` + +## Destroy tests + +Run the following commands to trash this app like nothing ever happened. + +```bash +# Should be destroyed with success +lando destroy -y +lando poweroff +``` diff --git a/package-lock.json b/package-lock.json index bc974e1..69a7f4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,13 +6,13 @@ "packages": { "": { "name": "@lando/backdrop", - "version": "1.8.0", + "version": "1.9.0", "license": "MIT", "dependencies": { "@lando/mariadb": "^1.7.0", "@lando/mssql": "^1.4.3", "@lando/mysql": "^1.6.0", - "@lando/php": "^1.10.0", + "@lando/php": "^1.11.0", "@lando/postgres": "^1.5.0", "lodash": "^4.17.21" }, @@ -1472,9 +1472,9 @@ "license": "MIT" }, "node_modules/@lando/php": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@lando/php/-/php-1.10.0.tgz", - "integrity": "sha512-1+WO35CixeaZKaQ+NTi+Xii1xk+GYIJvbbqVI1Ba10RFMBTsUK4y99hZCKrCLW3KqPfe6f4ufAfMllALbnHHmw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@lando/php/-/php-1.11.0.tgz", + "integrity": "sha512-E2uj58X1+Kk+XYnDhpnl04nR60/lBt/jwhmhNPryis6t9EwMDLDJ8YI8UUjVSxvUL1NbVlYp4X90Rc3EHsWv1g==", "bundleDependencies": [ "@lando/nginx", "lodash", diff --git a/package.json b/package.json index c8329f5..3730d50 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@lando/mariadb": "^1.7.0", "@lando/mssql": "^1.4.3", "@lando/mysql": "^1.6.0", - "@lando/php": "^1.10.0", + "@lando/php": "^1.11.0", "@lando/postgres": "^1.5.0", "lodash": "^4.17.21" },