From 6fe28cd67ffb93bf82a42a3617aad930ef6e892f Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 12:24:57 -0700 Subject: [PATCH 01/13] switch back to docker mysql service --- .github/workflows/tests.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 782db6761..e82d5f0cf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,10 +5,21 @@ on: [push, pull_request] jobs: tests: runs-on: self-hosted + services: + mysql: + image: mysql:8 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: false + MYSQL_ROOT_PASSWORD: root + MYSQL_PASSWORD: root + MYSQL_DATABASE: gallery3 + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 strategy: fail-fast: false matrix: - php-versions: ['7.4', '8.0', '8.1'] + php-versions: ['7.4'] env: DB_DATABASE: gallery3 DB_USER: root @@ -24,9 +35,7 @@ jobs: - name: Set up MySQL run: | - sudo /etc/init.d/mysql start - mysql -e 'CREATE DATABASE ${{ env.DB_DATABASE }};' -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} - mysql -e 'CREATE DATABASE ${{ env.DB_DATABASE }}_test;' -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} + mysql -e 'CREATE DATABASE ${{ env.DB_DATABASE }}_test;' -h ${{ env.DB_HOST }} --port ${{ env.DB_PORT }} -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} - name: Setup PHP uses: shivammathur/setup-php@v2 From 658dd67075242c54679f18fe29fa927c3f38fea6 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 12:27:48 -0700 Subject: [PATCH 02/13] only run CI on push to master --- .github/workflows/tests.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e82d5f0cf..ade19896a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,6 +1,10 @@ name: test suite -on: [push, pull_request] +on: + push: + branches: + - master + pull_request: jobs: tests: From df0ddf81f15c5611f8117272e58a201289cd49f5 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 12:30:27 -0700 Subject: [PATCH 03/13] install mysql-client --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ade19896a..206b89abc 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -32,7 +32,7 @@ jobs: DB_HOST: 127.0.0.1 steps: - name: Install OS packages - run: sudo apt-get install -y imagemagick graphicsmagick dcraw ffmpeg git + run: sudo apt-get install -y imagemagick graphicsmagick dcraw ffmpeg git mysql-client - name: Checkout uses: actions/checkout@v7 From 15ad0a13d76e3414ffe6e8608f2833f8aeb068f6 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 12:33:58 -0700 Subject: [PATCH 04/13] x --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 206b89abc..1179c6ca0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -42,7 +42,7 @@ jobs: mysql -e 'CREATE DATABASE ${{ env.DB_DATABASE }}_test;' -h ${{ env.DB_HOST }} --port ${{ env.DB_PORT }} -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} - name: Setup PHP - uses: shivammathur/setup-php@v2 + uses: shivammathur/setup-php@verbose with: php-version: ${{ matrix.php-versions }} extensions: mbstring, gd, mysql, xml From ba25ffe65b9b60ee0bd7836fb4027776a0f280ee Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 15:32:18 -0700 Subject: [PATCH 05/13] add dependabot config --- .github/dependabot.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..14206b48f --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "composer" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" From 2f20373a75302769143e8a2213e936c7d5065893 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 15:41:49 -0700 Subject: [PATCH 06/13] x --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1179c6ca0..0d915c7aa 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,6 +9,7 @@ on: jobs: tests: runs-on: self-hosted + container: ubuntu:24 services: mysql: image: mysql:8 From b965ba14f0a2d247cc5618c08cd9d4daba911696 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 15:43:42 -0700 Subject: [PATCH 07/13] x --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0d915c7aa..0539c040d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,7 +9,7 @@ on: jobs: tests: runs-on: self-hosted - container: ubuntu:24 + container: ubuntu:noble services: mysql: image: mysql:8 From 9bc21ec090583609b525146d64d86538114253b8 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 15:45:06 -0700 Subject: [PATCH 08/13] x --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0539c040d..4b2eea563 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -33,7 +33,7 @@ jobs: DB_HOST: 127.0.0.1 steps: - name: Install OS packages - run: sudo apt-get install -y imagemagick graphicsmagick dcraw ffmpeg git mysql-client + run: apt-get install -y imagemagick graphicsmagick dcraw ffmpeg git mysql-client - name: Checkout uses: actions/checkout@v7 From 46d05c06fdf01d8754f5bdd56763e0f2b8f330a1 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 15:46:32 -0700 Subject: [PATCH 09/13] x --- .github/workflows/tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4b2eea563..f40fa125b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -33,7 +33,9 @@ jobs: DB_HOST: 127.0.0.1 steps: - name: Install OS packages - run: apt-get install -y imagemagick graphicsmagick dcraw ffmpeg git mysql-client + run: | + apt-get update + apt-get install -y imagemagick graphicsmagick dcraw ffmpeg git mysql-client - name: Checkout uses: actions/checkout@v7 From 11a53e0527ea94382dd9c44833a2a931b567cf37 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 15:51:05 -0700 Subject: [PATCH 10/13] x --- .github/workflows/tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f40fa125b..21c15da9b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,8 +18,8 @@ jobs: MYSQL_ROOT_PASSWORD: root MYSQL_PASSWORD: root MYSQL_DATABASE: gallery3 - ports: - - 3306:3306 +# ports: +# - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 strategy: fail-fast: false @@ -30,7 +30,7 @@ jobs: DB_USER: root DB_PASSWORD: root DB_PORT: 3306 - DB_HOST: 127.0.0.1 + DB_HOST: mysql steps: - name: Install OS packages run: | From 80e9a25e2318bee705b8f8c24c000f10d712c950 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 16:07:38 -0700 Subject: [PATCH 11/13] cache install steps --- .github/workflows/tests.yml | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 21c15da9b..67bf93eaf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -32,18 +32,27 @@ jobs: DB_PORT: 3306 DB_HOST: mysql steps: + - name: Cache APT Packages + uses: actions/cache@v4 + id: apt-cache + with: + path: /var/cache/apt/archives + # Modify the string to include the exact packages you plan to install + key: ${{ runner.os }}-apt-cache-${{ hashFiles('.github/workflows/ci.yml') }} + restore-keys: | + ${{ runner.os }}-apt-cache- + + - name: Configure APT Keep-Cache + run: | + echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache + # Optional: Remove Docker's default auto-clean directive if present + rm -f /etc/apt/apt.conf.d/docker-clean + - name: Install OS packages run: | apt-get update apt-get install -y imagemagick graphicsmagick dcraw ffmpeg git mysql-client - - name: Checkout - uses: actions/checkout@v7 - - - name: Set up MySQL - run: | - mysql -e 'CREATE DATABASE ${{ env.DB_DATABASE }}_test;' -h ${{ env.DB_HOST }} --port ${{ env.DB_PORT }} -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} - - name: Setup PHP uses: shivammathur/setup-php@verbose with: @@ -52,6 +61,12 @@ jobs: ini-values: post_max_size=256M, max_execution_time=180 tools: composer:v2 + - name: Checkout + uses: actions/checkout@v7 + + - name: Set up MySQL + run: | + mysql -e 'CREATE DATABASE ${{ env.DB_DATABASE }}_test;' -h ${{ env.DB_HOST }} --port ${{ env.DB_PORT }} -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} - name: Get composer cache directory id: composer-cache run: | From d018666de0114b0a01e29bc40670aa9780ded032 Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 16:30:17 -0700 Subject: [PATCH 12/13] x --- .github/workflows/tests.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 67bf93eaf..eb2d6a493 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -32,13 +32,15 @@ jobs: DB_PORT: 3306 DB_HOST: mysql steps: + - name: env + run: env + - name: Cache APT Packages - uses: actions/cache@v4 + uses: actions/cache@v5 id: apt-cache with: path: /var/cache/apt/archives - # Modify the string to include the exact packages you plan to install - key: ${{ runner.os }}-apt-cache-${{ hashFiles('.github/workflows/ci.yml') }} + key: ${{ runner.os }}-apt-cache-${{ hashFiles('.github/workflows/tests.yml') }} restore-keys: | ${{ runner.os }}-apt-cache- @@ -54,7 +56,7 @@ jobs: apt-get install -y imagemagick graphicsmagick dcraw ffmpeg git mysql-client - name: Setup PHP - uses: shivammathur/setup-php@verbose + uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} extensions: mbstring, gd, mysql, xml From 289c9bfdcf51d230ed4e4959a1d1aa273dfe904d Mon Sep 17 00:00:00 2001 From: Brad Dutton Date: Wed, 24 Jun 2026 16:35:20 -0700 Subject: [PATCH 13/13] x --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index eb2d6a493..fc593cf46 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -31,6 +31,7 @@ jobs: DB_PASSWORD: root DB_PORT: 3306 DB_HOST: mysql + ACTIONS_RESULTS_URL: http://host.docker.internal:3000 steps: - name: env run: env