From 0240acfa4372fb4dadc49c7a2c7a60e7521846a3 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Sun, 15 Dec 2024 17:37:00 -0500 Subject: [PATCH 01/13] =?UTF-8?q?=E2=9C=85=20Add=20routing=20e2e=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playwright.config.ts | 28 +++++++++++++++++++++++++ tests/e2e/routing.spec.ts | 43 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 playwright.config.ts create mode 100644 tests/e2e/routing.spec.ts diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 00000000..92c0f96c --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,28 @@ +import { defineConfig, devices } from '@playwright/test'; + +export default defineConfig({ + testDir: './tests/e2e', + fullyParallel: true, + forbidOnly: !!process.env.CI, + retries: process.env.CI ? 2 : 0, + workers: process.env.CI ? 1 : undefined, + reporter: 'html', + use: { + baseURL: 'http://localhost:8080', + trace: 'on-first-retry', + screenshot: 'only-on-failure', + }, + + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + ], + + webServer: { + command: 'echo "Using existing devcontainer web server"', + url: 'http://localhost:8080', + reuseExistingServer: true, + }, +}); diff --git a/tests/e2e/routing.spec.ts b/tests/e2e/routing.spec.ts new file mode 100644 index 00000000..a7c37078 --- /dev/null +++ b/tests/e2e/routing.spec.ts @@ -0,0 +1,43 @@ +import { test, expect } from '@playwright/test'; + +test.describe('Routing', () => { + test('Acorn handles the welcome route', async ({ page }) => { + const response = await page.goto('/welcome/'); + expect(response?.status()).toBe(200); + await expect(page).toHaveURL('/welcome/'); + await expect(page.locator('h1')).toContainText('Welcome to Radicle'); + }); + + test('WordPress admin routes are not intercepted', async ({ page }) => { + const response = await page.goto('/wp-admin/'); + expect(response?.status()).toBe(302); // Redirect status + await expect(page).toHaveURL(/wp-login\.php/); + }); + + test('WordPress handles non-existent routes with 404', async ({ page }) => { + const response = await page.goto('/non-existent-' + Date.now()); + expect(response?.status()).toBe(404); + await expect(page.locator('body')).toContainText('Page not found'); + await expect(page.locator('body.error404')).toBeVisible(); + }); + + test('WordPress handles default homepage', async ({ page }) => { + const response = await page.goto('/'); + expect(response?.status()).toBe(200); + await expect(page.locator('body.home')).toBeVisible(); + }); + + test('WordPress REST API routes work', async ({ request }) => { + const response = await request.get('/wp-json/'); + expect(response.status()).toBe(200); + const data = await response.json(); + expect(data.name).toBeDefined(); + expect(data.url).toBeDefined(); + }); + + test('WordPress search route works', async ({ page }) => { + const response = await page.goto('/?s=test'); + expect(response?.status()).toBe(200); + await expect(page.locator('body.search')).toBeVisible(); + }); +}); From f0d76aeb91ea33b0cba1d7434e24630ddee6d6c2 Mon Sep 17 00:00:00 2001 From: QWp6t Date: Sun, 15 Dec 2024 08:17:56 -0800 Subject: [PATCH 02/13] =?UTF-8?q?=F0=9F=90=8B=20update=20devcontainer=20fo?= =?UTF-8?q?r=20php=208.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devcontainer/Dockerfile | 5 +++-- .devcontainer/docker-compose.yml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 5a052e5e..03810ee2 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -15,6 +15,7 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ mariadb-client \ vim \ zip \ + wget \ && apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* # Install PHP extensions @@ -36,9 +37,9 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ pdo \ pdo_mysql \ zip \ - && pecl install imagick-3.7.0 && docker-php-ext-enable imagick \ + # && pecl install imagick-3.7.0 && docker-php-ext-enable imagick \ # https://github.com/Imagick/imagick/issues/689 && pecl install -o -f redis && docker-php-ext-enable redis \ - && pecl install xdebug-3.3.1 && docker-php-ext-enable xdebug \ + && pecl install xdebug-3.4.0 && docker-php-ext-enable xdebug \ && apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* # Install composer diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index c370c1a2..94ac9f31 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -5,7 +5,7 @@ services: build: context: . dockerfile: Dockerfile - image: roots/dev-8.3 + image: roots/dev-8.4 extra_hosts: - 'host.docker.internal:host-gateway' environment: From 21643b80555475d4e2c53c26727b2e5e42b1795a Mon Sep 17 00:00:00 2001 From: Ben Word Date: Sun, 15 Dec 2024 23:50:28 -0500 Subject: [PATCH 03/13] =?UTF-8?q?=E2=9C=85=20Add=20routing=20integration?= =?UTF-8?q?=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devcontainer/config/web/default.conf | 4 +- .devcontainer/docker-compose.yml | 3 + tests/Integration/Routing/RoutingTest.php | 26 +++++++ tests/Integration/Routing/RoutingTestCase.php | 72 +++++++++++++++++++ tests/Test/Concerns/SupportsRouting.php | 18 +++++ 5 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 tests/Integration/Routing/RoutingTest.php create mode 100644 tests/Integration/Routing/RoutingTestCase.php create mode 100644 tests/Test/Concerns/SupportsRouting.php diff --git a/.devcontainer/config/web/default.conf b/.devcontainer/config/web/default.conf index 08055d68..a9f9a3d5 100644 --- a/.devcontainer/config/web/default.conf +++ b/.devcontainer/config/web/default.conf @@ -1,6 +1,8 @@ server { listen 80 default; listen [::]:80; + listen 8080 default_server; + listen [::]:8080 default_server; # listen 443 ssl; # listen [::]:443 ssl ipv6only=on; @@ -11,7 +13,7 @@ server { add_header X-Content-Type-Options "nosniff"; charset utf-8; - server_name web.local web; + server_name _; root /roots/app/public; index index.php index.html; diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index 94ac9f31..01d001ca 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -29,6 +29,9 @@ services: image: nginx:latest ports: - '${FORWARD_WEB_PORT:-8080}:80' + + expose: + - '8080' environment: - NGINX_ENTRYPOINT_WORKER_PROCESSES_AUTOTUNE=1 volumes: diff --git a/tests/Integration/Routing/RoutingTest.php b/tests/Integration/Routing/RoutingTest.php new file mode 100644 index 00000000..68d94ca0 --- /dev/null +++ b/tests/Integration/Routing/RoutingTest.php @@ -0,0 +1,26 @@ + false, + ]); + + $response = $client->request('GET', 'http://web:8080/'); + expect($response->getStatusCode())->toBe(200); +}); + +it('should return a 200 status code for Acorn test route', function () { + $client = new Client([ + 'verify' => false, + ]); + + $response = $client->request('GET', 'http://web:8080/test'); + expect($response->getStatusCode())->toBe(200); + expect((string) $response->getBody())->toBe('Howdy'); +}); diff --git a/tests/Integration/Routing/RoutingTestCase.php b/tests/Integration/Routing/RoutingTestCase.php new file mode 100644 index 00000000..f5bd6470 --- /dev/null +++ b/tests/Integration/Routing/RoutingTestCase.php @@ -0,0 +1,72 @@ +clearStubs(); + + // Ensure routes directory exists + if (!is_dir('/roots/app/public/routes')) { + mkdir('/roots/app/public/routes', 0777, true); + } + + // Create web.php routes file + $webRoutes = <<<'PHP' +group(function () { + Route::get('/test', fn() => 'Howdy')->name('test'); +}); +PHP; + + file_put_contents('/roots/app/public/routes/web.php', $webRoutes); + + // Ensure mu-plugins directory exists + if (!is_dir('/roots/app/public/content/mu-plugins')) { + mkdir('/roots/app/public/content/mu-plugins', 0777, true); + } + + // Create or update the Acorn boot mu-plugin + $bootPlugin = <<<'PHP' +withMiddleware(function (Middleware $middleware) { + // + }) + ->withExceptions(function (Exceptions $exceptions) { + // + }) + ->withRouting( + web: '/roots/app/public/routes/web.php' + ) + ->boot(); +}, 0); +PHP; + + file_put_contents('/roots/app/public/content/mu-plugins/01-acorn-boot.php', $bootPlugin); + } +} diff --git a/tests/Test/Concerns/SupportsRouting.php b/tests/Test/Concerns/SupportsRouting.php new file mode 100644 index 00000000..221ac132 --- /dev/null +++ b/tests/Test/Concerns/SupportsRouting.php @@ -0,0 +1,18 @@ +app = Application::getInstance(); + + // Set up facades + Route::setFacadeApplication($this->app); + } +} From 7bf5f6b97caf7b039880177c1c19f90c9d002e13 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Mon, 16 Dec 2024 22:25:33 -0500 Subject: [PATCH 04/13] more tests --- tests/Integration/Routing/RoutingTest.php | 62 +++++++++++++++++-- tests/Integration/Routing/RoutingTestCase.php | 6 +- tests/Test/Concerns/SupportsRouting.php | 2 +- 3 files changed, 62 insertions(+), 8 deletions(-) diff --git a/tests/Integration/Routing/RoutingTest.php b/tests/Integration/Routing/RoutingTest.php index 68d94ca0..19e16b99 100644 --- a/tests/Integration/Routing/RoutingTest.php +++ b/tests/Integration/Routing/RoutingTest.php @@ -6,21 +6,75 @@ uses(RoutingTestCase::class); -it('should return a 200 status code for WordPress homepage', function () { +expect()->extend('toHaveBodyClass', function (string $class) { + preg_match('/]*class=["\']([^"\']*)["\']/', $this->value, $matches); + expect($matches)->toHaveCount(2, 'No body tag with class attribute found'); + expect($matches[1])->toContain($class); + return $this; +}); + +it('handles the test route', function () { + $client = new Client([ + 'verify' => false, + ]); + + $response = $client->request('GET', 'http://web:8080/test/'); + expect($response->getStatusCode())->toBe(200); + expect((string) $response->getBody())->toContain('Howdy'); +}); + +it('does not intercept WordPress admin routes', function () { + $client = new Client([ + 'verify' => false, + 'allow_redirects' => false, + ]); + + $response = $client->request('GET', 'http://web:8080/wp/wp-admin/'); + expect($response->getStatusCode())->toBe(302); + expect($response->getHeader('Location')[0])->toContain('wp-login.php'); +}); + +it('handles non-existent routes with 404', function () { + $client = new Client([ + 'verify' => false, + 'http_errors' => false, + ]); + + $response = $client->request('GET', 'http://web:8080/non-existent-' . time()); + expect($response->getStatusCode())->toBe(404); + expect((string) $response->getBody())->toContain('Page not found'); + expect((string) $response->getBody())->toHaveBodyClass('error404'); +}); + +it('handles default homepage', function () { $client = new Client([ 'verify' => false, ]); $response = $client->request('GET', 'http://web:8080/'); expect($response->getStatusCode())->toBe(200); + expect((string) $response->getBody())->toHaveBodyClass('home'); +}); + +it('handles WordPress REST API routes', function () { + $client = new Client([ + 'verify' => false, + ]); + + $response = $client->request('GET', 'http://web:8080/wp-json/'); + expect($response->getStatusCode())->toBe(200); + + $data = json_decode((string) $response->getBody(), true); + expect($data)->toHaveKey('name'); + expect($data)->toHaveKey('url'); }); -it('should return a 200 status code for Acorn test route', function () { +it('handles WordPress search route', function () { $client = new Client([ 'verify' => false, ]); - $response = $client->request('GET', 'http://web:8080/test'); + $response = $client->request('GET', 'http://web:8080/search/test/'); expect($response->getStatusCode())->toBe(200); - expect((string) $response->getBody())->toBe('Howdy'); + expect((string) $response->getBody())->toHaveBodyClass('search'); }); diff --git a/tests/Integration/Routing/RoutingTestCase.php b/tests/Integration/Routing/RoutingTestCase.php index f5bd6470..ff0ebe1b 100644 --- a/tests/Integration/Routing/RoutingTestCase.php +++ b/tests/Integration/Routing/RoutingTestCase.php @@ -2,8 +2,8 @@ namespace Roots\Acorn\Tests\Integration\Routing; -use Mockery\Adapter\Phpunit\MockeryTestCase; use Illuminate\Foundation\Testing\Concerns\MakesHttpRequests; +use Mockery\Adapter\Phpunit\MockeryTestCase; use Roots\Acorn\Tests\Test\Concerns\SupportsGlobalStubs; use Roots\Acorn\Tests\Test\Concerns\SupportsScopedFixtures; @@ -19,7 +19,7 @@ protected function setUp(): void $this->clearStubs(); // Ensure routes directory exists - if (!is_dir('/roots/app/public/routes')) { + if (! is_dir('/roots/app/public/routes')) { mkdir('/roots/app/public/routes', 0777, true); } @@ -37,7 +37,7 @@ protected function setUp(): void file_put_contents('/roots/app/public/routes/web.php', $webRoutes); // Ensure mu-plugins directory exists - if (!is_dir('/roots/app/public/content/mu-plugins')) { + if (! is_dir('/roots/app/public/content/mu-plugins')) { mkdir('/roots/app/public/content/mu-plugins', 0777, true); } diff --git a/tests/Test/Concerns/SupportsRouting.php b/tests/Test/Concerns/SupportsRouting.php index 221ac132..b085460c 100644 --- a/tests/Test/Concerns/SupportsRouting.php +++ b/tests/Test/Concerns/SupportsRouting.php @@ -2,8 +2,8 @@ namespace Roots\Acorn\Tests\Test\Concerns; -use Roots\Acorn\Application; use Illuminate\Support\Facades\Route; +use Roots\Acorn\Application; trait SupportsRouting { From 8734830fcfacb79cdb63c4ed1b2088640c23d356 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Mon, 16 Dec 2024 22:30:24 -0500 Subject: [PATCH 05/13] actions workflow --- .github/workflows/integration.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/integration.yml diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml new file mode 100644 index 00000000..f2711168 --- /dev/null +++ b/.github/workflows/integration.yml @@ -0,0 +1,29 @@ +name: Integration + +on: [push, pull_request, workflow_dispatch] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Copy .env file + working-directory: .devcontainer + run: cp config/app/.env.example .env + + - name: Start dev container and test + uses: devcontainers/ci@v0.3 + with: + configFile: .devcontainer/devcontainer.json + runCmd: | + composer install + while ! mysqladmin ping -h"database" --silent; do + sleep 1 + done + wp core install --url=http://web:8080 --title=Acorn --admin_user=admin --admin_password=admin --admin_email=admin@example.com --skip-email --allow-root + composer test tests/Integration/Routing + + - name: Verify routes + run: | + curl -s http://localhost:8080/test/ | grep "Howdy" From bf5ef9187ba2bc179be3b54351979f1ef5a6cbad Mon Sep 17 00:00:00 2001 From: Ben Word Date: Mon, 16 Dec 2024 22:30:47 -0500 Subject: [PATCH 06/13] pint --- tests/Integration/Routing/RoutingTest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/Integration/Routing/RoutingTest.php b/tests/Integration/Routing/RoutingTest.php index 19e16b99..3cf83443 100644 --- a/tests/Integration/Routing/RoutingTest.php +++ b/tests/Integration/Routing/RoutingTest.php @@ -10,6 +10,7 @@ preg_match('/]*class=["\']([^"\']*)["\']/', $this->value, $matches); expect($matches)->toHaveCount(2, 'No body tag with class attribute found'); expect($matches[1])->toContain($class); + return $this; }); @@ -40,7 +41,7 @@ 'http_errors' => false, ]); - $response = $client->request('GET', 'http://web:8080/non-existent-' . time()); + $response = $client->request('GET', 'http://web:8080/non-existent-'.time()); expect($response->getStatusCode())->toBe(404); expect((string) $response->getBody())->toContain('Page not found'); expect((string) $response->getBody())->toHaveBodyClass('error404'); From 0f8048e7e7c6ae719f592788f0e3a5436f4bd8b3 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Mon, 16 Dec 2024 22:35:25 -0500 Subject: [PATCH 07/13] exclude router tests on main action --- .github/workflows/main.yml | 2 +- playwright.config.ts | 28 --------------- tests/Integration/Routing/RoutingTest.php | 2 +- tests/e2e/routing.spec.ts | 43 ----------------------- 4 files changed, 2 insertions(+), 73 deletions(-) delete mode 100644 playwright.config.ts delete mode 100644 tests/e2e/routing.spec.ts diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fb326f9c..27ae9b13 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -47,4 +47,4 @@ jobs: run: composer run-script lint - name: Execute the Composer test script - run: composer run-script test + run: composer test -- --exclude-group=integration diff --git a/playwright.config.ts b/playwright.config.ts deleted file mode 100644 index 92c0f96c..00000000 --- a/playwright.config.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { defineConfig, devices } from '@playwright/test'; - -export default defineConfig({ - testDir: './tests/e2e', - fullyParallel: true, - forbidOnly: !!process.env.CI, - retries: process.env.CI ? 2 : 0, - workers: process.env.CI ? 1 : undefined, - reporter: 'html', - use: { - baseURL: 'http://localhost:8080', - trace: 'on-first-retry', - screenshot: 'only-on-failure', - }, - - projects: [ - { - name: 'chromium', - use: { ...devices['Desktop Chrome'] }, - }, - ], - - webServer: { - command: 'echo "Using existing devcontainer web server"', - url: 'http://localhost:8080', - reuseExistingServer: true, - }, -}); diff --git a/tests/Integration/Routing/RoutingTest.php b/tests/Integration/Routing/RoutingTest.php index 3cf83443..cbbd915c 100644 --- a/tests/Integration/Routing/RoutingTest.php +++ b/tests/Integration/Routing/RoutingTest.php @@ -4,7 +4,7 @@ use GuzzleHttp\Client; -uses(RoutingTestCase::class); +uses(RoutingTestCase::class)->group('integration'); expect()->extend('toHaveBodyClass', function (string $class) { preg_match('/]*class=["\']([^"\']*)["\']/', $this->value, $matches); diff --git a/tests/e2e/routing.spec.ts b/tests/e2e/routing.spec.ts deleted file mode 100644 index a7c37078..00000000 --- a/tests/e2e/routing.spec.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { test, expect } from '@playwright/test'; - -test.describe('Routing', () => { - test('Acorn handles the welcome route', async ({ page }) => { - const response = await page.goto('/welcome/'); - expect(response?.status()).toBe(200); - await expect(page).toHaveURL('/welcome/'); - await expect(page.locator('h1')).toContainText('Welcome to Radicle'); - }); - - test('WordPress admin routes are not intercepted', async ({ page }) => { - const response = await page.goto('/wp-admin/'); - expect(response?.status()).toBe(302); // Redirect status - await expect(page).toHaveURL(/wp-login\.php/); - }); - - test('WordPress handles non-existent routes with 404', async ({ page }) => { - const response = await page.goto('/non-existent-' + Date.now()); - expect(response?.status()).toBe(404); - await expect(page.locator('body')).toContainText('Page not found'); - await expect(page.locator('body.error404')).toBeVisible(); - }); - - test('WordPress handles default homepage', async ({ page }) => { - const response = await page.goto('/'); - expect(response?.status()).toBe(200); - await expect(page.locator('body.home')).toBeVisible(); - }); - - test('WordPress REST API routes work', async ({ request }) => { - const response = await request.get('/wp-json/'); - expect(response.status()).toBe(200); - const data = await response.json(); - expect(data.name).toBeDefined(); - expect(data.url).toBeDefined(); - }); - - test('WordPress search route works', async ({ page }) => { - const response = await page.goto('/?s=test'); - expect(response?.status()).toBe(200); - await expect(page.locator('body.search')).toBeVisible(); - }); -}); From 62043b6a4a20c67ce0453a25e1d07772b85d25be Mon Sep 17 00:00:00 2001 From: Ben Word Date: Mon, 16 Dec 2024 22:39:25 -0500 Subject: [PATCH 08/13] path and command fix --- .github/workflows/integration.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index f2711168..06eb7bef 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -17,12 +17,13 @@ jobs: with: configFile: .devcontainer/devcontainer.json runCmd: | + cd /roots/app composer install while ! mysqladmin ping -h"database" --silent; do sleep 1 done wp core install --url=http://web:8080 --title=Acorn --admin_user=admin --admin_password=admin --admin_email=admin@example.com --skip-email --allow-root - composer test tests/Integration/Routing + composer run-script test tests/Integration/Routing - name: Verify routes run: | From 687f0a90401ca5557fb6b94e72dea0593a28f305 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Mon, 16 Dec 2024 22:47:07 -0500 Subject: [PATCH 09/13] wrong dir --- .github/workflows/integration.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 06eb7bef..8146b91c 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -23,6 +23,9 @@ jobs: sleep 1 done wp core install --url=http://web:8080 --title=Acorn --admin_user=admin --admin_password=admin --admin_email=admin@example.com --skip-email --allow-root + + cd /roots/acorn + composer install composer run-script test tests/Integration/Routing - name: Verify routes From e57d2e687bb141429889a20f60c06499d7ddde2f Mon Sep 17 00:00:00 2001 From: Ben Word Date: Mon, 16 Dec 2024 22:58:08 -0500 Subject: [PATCH 10/13] wp acorn optimize:clear --- .github/workflows/integration.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 8146b91c..00b425fd 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -23,6 +23,7 @@ jobs: sleep 1 done wp core install --url=http://web:8080 --title=Acorn --admin_user=admin --admin_password=admin --admin_email=admin@example.com --skip-email --allow-root + wp acorn optimize:clear cd /roots/acorn composer install From 755648823373f124ece18751497ab9a8e7e6bc57 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Mon, 16 Dec 2024 23:23:16 -0500 Subject: [PATCH 11/13] =?UTF-8?q?=F0=9F=91=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/integration.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 00b425fd..84c72510 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -19,6 +19,9 @@ jobs: runCmd: | cd /roots/app composer install + composer remove roots/acorn + composer require roots/acorn --no-interaction + composer require nunomaduro/collision while ! mysqladmin ping -h"database" --silent; do sleep 1 done From 77a96cfdcc78bd4f416bafd8211a59696cb2be7f Mon Sep 17 00:00:00 2001 From: Ben Word Date: Mon, 16 Dec 2024 23:31:31 -0500 Subject: [PATCH 12/13] ??? --- .github/workflows/integration.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 84c72510..cdfc6c2f 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -19,9 +19,12 @@ jobs: runCmd: | cd /roots/app composer install + # ??? composer remove roots/acorn composer require roots/acorn --no-interaction - composer require nunomaduro/collision + composer require --dev nunomaduro/collision + composer require --dev spatie/laravel-ignition + # ??? while ! mysqladmin ping -h"database" --silent; do sleep 1 done From 1a0f816fe0aa96073025f532c9f7f66bdda9d3e7 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Tue, 17 Dec 2024 00:35:04 -0500 Subject: [PATCH 13/13] unnecessary --- tests/Test/Concerns/SupportsRouting.php | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 tests/Test/Concerns/SupportsRouting.php diff --git a/tests/Test/Concerns/SupportsRouting.php b/tests/Test/Concerns/SupportsRouting.php deleted file mode 100644 index b085460c..00000000 --- a/tests/Test/Concerns/SupportsRouting.php +++ /dev/null @@ -1,18 +0,0 @@ -app = Application::getInstance(); - - // Set up facades - Route::setFacadeApplication($this->app); - } -}