From d3b201a724b23e901758e4ad708d9c395eefea0b Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Mon, 8 Apr 2024 13:40:24 -0600 Subject: [PATCH 01/12] require a new application.pantheon.php file --- config/application.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/application.php b/config/application.php index 98e5ab49..2c2f4884 100644 --- a/config/application.php +++ b/config/application.php @@ -45,6 +45,11 @@ } } +/** + * Include Pantheon application settings. + */ +require_once __DIR__ . '/application.pantheon.php'; + /** * Set up our global environment constant and load its config first * Default: production From 3da040ac1a13a5a580ef41950b938bd429462fed Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Mon, 8 Apr 2024 13:40:54 -0600 Subject: [PATCH 02/12] use application.pantheon.php to define WP_HOME and make it available for future application.php modifications --- config/application.pantheon.php | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 config/application.pantheon.php diff --git a/config/application.pantheon.php b/config/application.pantheon.php new file mode 100644 index 00000000..529025a5 --- /dev/null +++ b/config/application.pantheon.php @@ -0,0 +1,40 @@ + Date: Mon, 8 Apr 2024 14:00:49 -0600 Subject: [PATCH 03/12] ignore internal errors in phpcs rulesets --- phpcs.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/phpcs.xml b/phpcs.xml index 16bde090..fffa19c9 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -41,6 +41,12 @@ + + + From 9b1b37d5cde788e5745876d17529569a716512d8 Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Mon, 8 Apr 2024 14:01:25 -0600 Subject: [PATCH 04/12] linting --- config/application.pantheon.php | 38 ++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/config/application.pantheon.php b/config/application.pantheon.php index 529025a5..4c984493 100644 --- a/config/application.pantheon.php +++ b/config/application.pantheon.php @@ -14,27 +14,27 @@ use function Env\env; if ( isset( $_ENV['PANTHEON_ENVIRONMENT'] ) && 'lando' !== $_ENV['PANTHEON_ENVIRONMENT'] ) { - // We can use PANTHEON_SITE_NAME here because it's safe to assume we're on a Pantheon environment if PANTHEON_ENVIRONMENT is set. - $sitename = $_ENV['PANTHEON_SITE_NAME']; - $baseurl = $_ENV['PANTHEON_ENVIRONMENT'] . '-' . $sitename . '.pantheonsite.io'; + // We can use PANTHEON_SITE_NAME here because it's safe to assume we're on a Pantheon environment if PANTHEON_ENVIRONMENT is set. + $sitename = $_ENV['PANTHEON_SITE_NAME']; + $baseurl = $_ENV['PANTHEON_ENVIRONMENT'] . '-' . $sitename . '.pantheonsite.io'; - $scheme = 'http'; - if ( isset( $_SERVER['HTTPS'] ) && 'on' === $_SERVER['HTTPS'] ) { - $scheme = 'https'; - } + $scheme = 'http'; + if ( isset( $_SERVER['HTTPS'] ) && 'on' === $_SERVER['HTTPS'] ) { + $scheme = 'https'; + } - // Define the WP_HOME and WP_SITEURL constants if they aren't already defined. - if ( ! env( 'WP_HOME' ) ) { - // If HTTP_HOST is set, use that as the base URL. It's probably more accurate. - if ( isset( $_SERVER['HTTP_HOST'] ) ) { - $baseurl = $_SERVER['HTTP_HOST']; - } + // Define the WP_HOME and WP_SITEURL constants if they aren't already defined. + if ( ! env( 'WP_HOME' ) ) { + // If HTTP_HOST is set, use that as the base URL. It's probably more accurate. + if ( isset( $_SERVER['HTTP_HOST'] ) ) { + $baseurl = $_SERVER['HTTP_HOST']; + } - $homeurl = $scheme . '://' . $baseurl; - Config::define( 'WP_HOME', $homeurl ); + $homeurl = $scheme . '://' . $baseurl; + Config::define( 'WP_HOME', $homeurl ); - if ( ! env( 'WP_SITEURL' ) ) { - Config::define( 'WP_SITEURL', $homeurl . '/wp' ); - } - } + if ( ! env( 'WP_SITEURL' ) ) { + Config::define( 'WP_SITEURL', $homeurl . '/wp' ); + } + } } From 5fafc88dad4b078e46c49975114c41c0bc6ba50e Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Mon, 8 Apr 2024 14:02:59 -0600 Subject: [PATCH 05/12] ignore application.pantheon.php filename pattern --- phpcs.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/phpcs.xml b/phpcs.xml index fffa19c9..f6095924 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -38,6 +38,9 @@ config/application.php + + config/application.pantheon.php + From 465e85bd2d7f712358a19b5f91c62697c9377ebc Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Mon, 8 Apr 2024 14:05:39 -0600 Subject: [PATCH 06/12] bump actions/cache to v4 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1aae3a57..4fade9be 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: id: composer-cache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - uses: actions/cache@v2 + - uses: actions/cache@v4 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} From d0edce8efa5f357d8f49416d6f6d6fb06f89c177 Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Mon, 8 Apr 2024 14:09:16 -0600 Subject: [PATCH 07/12] patch set-output with environment var see https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4fade9be..8ae54550 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: - name: Cache Composer dependencies id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - uses: actions/cache@v4 with: From 3cfe00a9f7cf7e78531d8b54ded4806b5708b03a Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Mon, 8 Apr 2024 14:28:41 -0600 Subject: [PATCH 08/12] add the WP_HOME and WP_SITEURL values to the environment after we define them if they're already defined, we don't run this code path --- config/application.pantheon.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/application.pantheon.php b/config/application.pantheon.php index 4c984493..e8fc2100 100644 --- a/config/application.pantheon.php +++ b/config/application.pantheon.php @@ -32,9 +32,11 @@ $homeurl = $scheme . '://' . $baseurl; Config::define( 'WP_HOME', $homeurl ); + putenv( 'WP_HOME=' . $homeurl ); if ( ! env( 'WP_SITEURL' ) ) { Config::define( 'WP_SITEURL', $homeurl . '/wp' ); + putenv( 'WP_SITEURL=' . $homeurl . '/wp' ); } } } From 344dea88a0d7abd22276e50ec101572c8b853b44 Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Tue, 9 Apr 2024 09:28:16 -0600 Subject: [PATCH 09/12] look for the LANDO environment variable to check for Lando --- config/application.pantheon.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/application.pantheon.php b/config/application.pantheon.php index e8fc2100..ab58c705 100644 --- a/config/application.pantheon.php +++ b/config/application.pantheon.php @@ -13,7 +13,7 @@ use Roots\WPConfig\Config; use function Env\env; -if ( isset( $_ENV['PANTHEON_ENVIRONMENT'] ) && 'lando' !== $_ENV['PANTHEON_ENVIRONMENT'] ) { +if ( isset( $_ENV['PANTHEON_ENVIRONMENT'] ) && ! isset( $_ENV['LANDO'] ) ) { // We can use PANTHEON_SITE_NAME here because it's safe to assume we're on a Pantheon environment if PANTHEON_ENVIRONMENT is set. $sitename = $_ENV['PANTHEON_SITE_NAME']; $baseurl = $_ENV['PANTHEON_ENVIRONMENT'] . '-' . $sitename . '.pantheonsite.io'; From 8335f918fd8fb57b46707cae33019b71defdecac Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Tue, 9 Apr 2024 09:29:46 -0600 Subject: [PATCH 10/12] use the lando environment variable in application.php, too --- config/application.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/application.php b/config/application.php index 2c2f4884..58db64bb 100644 --- a/config/application.php +++ b/config/application.php @@ -37,7 +37,7 @@ // Check if a .env file exists. file_exists( $root_dir . '/.env' ) || // Also check if we're using Lando and a .env.local file exists. - ( file_exists( $root_dir . '/.env.local' ) && 'lando' === $_ENV['PANTHEON_ENVIRONMENT'] ) + ( file_exists( $root_dir . '/.env.local' ) && isset( $_ENV['LANDO'] ) && 'ON' === $_ENV['LANDO'] ) ) { $dotenv->load(); if ( ! env( 'DATABASE_URL' ) ) { @@ -79,7 +79,7 @@ /** * Pantheon modifications */ -if ( isset( $_ENV['PANTHEON_ENVIRONMENT'] ) && 'lando' !== $_ENV['PANTHEON_ENVIRONMENT'] ) { +if ( isset( $_ENV['PANTHEON_ENVIRONMENT'] ) && ! isset( $_ENV['LANDO'] ) ) { Config::define( 'DB_HOST', $_ENV['DB_HOST'] . ':' . $_ENV['DB_PORT'] ); } else { /** From f472387f5738e3e7590b8115bf353656cac8ab44 Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Tue, 9 Apr 2024 09:30:47 -0600 Subject: [PATCH 11/12] fix spacing --- config/application.pantheon.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/application.pantheon.php b/config/application.pantheon.php index ab58c705..ae7adca1 100644 --- a/config/application.pantheon.php +++ b/config/application.pantheon.php @@ -32,11 +32,11 @@ $homeurl = $scheme . '://' . $baseurl; Config::define( 'WP_HOME', $homeurl ); - putenv( 'WP_HOME=' . $homeurl ); + putenv( 'WP_HOME=' . $homeurl ); if ( ! env( 'WP_SITEURL' ) ) { Config::define( 'WP_SITEURL', $homeurl . '/wp' ); - putenv( 'WP_SITEURL=' . $homeurl . '/wp' ); + putenv( 'WP_SITEURL=' . $homeurl . '/wp' ); } } } From ad16eba44288123f0e3e680b1003edf4d3999917 Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Tue, 9 Apr 2024 09:33:43 -0600 Subject: [PATCH 12/12] ignore the putenv that we added --- phpcs.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/phpcs.xml b/phpcs.xml index f6095924..55c0466f 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -41,6 +41,9 @@ config/application.pantheon.php + + config/application.pantheon.php +