Fold PHPCS and PHPStan into one job #179

Merged
thatguygriff merged 6 commits from ci/consolidate-quality-job-and-php-85 into main 2026-08-20 18:55:17 +00:00
Showing only changes of commit d5eb2764a3 - Show all commits
+89 -2
View File
@@ -19,6 +19,35 @@ jobs:
steps:
- uses: actions/checkout@v4
# setup-php installs PHP 8.3+ through php-builder, which apt-installs ~70
# -dev packages before unpacking the build (#178). Ubuntu's own image
# deletes the .debs after install, so every job re-downloads them from
# the archive. Keep them and restore them from the cache server, which
# lives in the cluster, turning a WAN download into a local one.
#
# The dep list is the same for every PHP version on the builder path, so
# one shared key serves them all. Only the .debs are cached, never
# /var/lib/apt/lists — a stale index is how you get 404s on install.
- name: Keep downloaded .debs
run: |
sudo rm -f /etc/apt/apt.conf.d/docker-clean
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' \
| sudo tee /etc/apt/apt.conf.d/99keep-downloaded-packages >/dev/null
- name: Cache apt packages
uses: actions/cache@v4
with:
path: /var/cache/apt/archives/*.deb
key: apt-php-builder-deps-${{ runner.arch }}-v1
# Temporary, for #178: shows whether the cache actually served the
# builder's dependencies, and times the step that consumes them.
- name: Report restored .debs
run: |
echo "restored .debs: $(ls /var/cache/apt/archives/*.deb 2>/dev/null | wc -l)"
echo "restored size: $(du -sh /var/cache/apt/archives 2>/dev/null | cut -f1)"
date -u +'setup-php start: %H:%M:%S'
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
@@ -26,7 +55,7 @@ jobs:
tools: composer:v2
- name: Cache Composer packages
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: composer-${{ hashFiles('composer.json') }}
@@ -54,6 +83,35 @@ jobs:
steps:
- uses: actions/checkout@v4
# setup-php installs PHP 8.3+ through php-builder, which apt-installs ~70
# -dev packages before unpacking the build (#178). Ubuntu's own image
# deletes the .debs after install, so every job re-downloads them from
# the archive. Keep them and restore them from the cache server, which
# lives in the cluster, turning a WAN download into a local one.
#
# The dep list is the same for every PHP version on the builder path, so
# one shared key serves them all. Only the .debs are cached, never
# /var/lib/apt/lists — a stale index is how you get 404s on install.
- name: Keep downloaded .debs
run: |
sudo rm -f /etc/apt/apt.conf.d/docker-clean
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' \
| sudo tee /etc/apt/apt.conf.d/99keep-downloaded-packages >/dev/null
- name: Cache apt packages
uses: actions/cache@v4
with:
path: /var/cache/apt/archives/*.deb
key: apt-php-builder-deps-${{ runner.arch }}-v1
# Temporary, for #178: shows whether the cache actually served the
# builder's dependencies, and times the step that consumes them.
- name: Report restored .debs
run: |
echo "restored .debs: $(ls /var/cache/apt/archives/*.deb 2>/dev/null | wc -l)"
echo "restored size: $(du -sh /var/cache/apt/archives 2>/dev/null | cut -f1)"
date -u +'setup-php start: %H:%M:%S'
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
@@ -63,7 +121,7 @@ jobs:
tools: composer:v2
- name: Cache Composer packages
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: ${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
@@ -97,6 +155,35 @@ jobs:
steps:
- uses: actions/checkout@v4
# setup-php installs PHP 8.3+ through php-builder, which apt-installs ~70
# -dev packages before unpacking the build (#178). Ubuntu's own image
# deletes the .debs after install, so every job re-downloads them from
# the archive. Keep them and restore them from the cache server, which
# lives in the cluster, turning a WAN download into a local one.
#
# The dep list is the same for every PHP version on the builder path, so
# one shared key serves them all. Only the .debs are cached, never
# /var/lib/apt/lists — a stale index is how you get 404s on install.
- name: Keep downloaded .debs
run: |
sudo rm -f /etc/apt/apt.conf.d/docker-clean
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' \
| sudo tee /etc/apt/apt.conf.d/99keep-downloaded-packages >/dev/null
- name: Cache apt packages
uses: actions/cache@v4
with:
path: /var/cache/apt/archives/*.deb
key: apt-php-builder-deps-${{ runner.arch }}-v1
# Temporary, for #178: shows whether the cache actually served the
# builder's dependencies, and times the step that consumes them.
- name: Report restored .debs
run: |
echo "restored .debs: $(ls /var/cache/apt/archives/*.deb 2>/dev/null | wc -l)"
echo "restored size: $(du -sh /var/cache/apt/archives 2>/dev/null | cut -f1)"
date -u +'setup-php start: %H:%M:%S'
- name: Setup PHP
uses: shivammathur/setup-php@v2
with: