Repository navigation
Fix docker and CI tooling issues - #167
Open
DaveLiddament wants to merge 1 commit into
Open
DaveLiddament wants to merge 1 commit into
DaveLiddament wants to merge 1 commit into
Conversation
- Docker containers now run as the host user (UID/GID mapping) so files written to the mounted volume (vendor, reports, test scratchpad, caches) are no longer owned by root on the host, which broke subsequent non-docker runs. Xdebug is now off by default in the containers (the composer test scripts enable it when needed). - The php-cs-fixer exclusion of tests/scratchpad did not work (exclude() takes paths relative to the in() directories), so generated test repos were being style checked; parallel-lint had the same gap. - GitHub Actions: update actions/checkout@v2 (deprecated runtime) to v4, replace the removed ::set-output syntax with GITHUB_OUTPUT, add minimal permissions, cancel superseded PR runs, fix restore-keys (previously identical to the primary key), move to ubuntu-24.04. - Swap the confusingly named test reports: junit output was written to reports/coverage.xml and clover coverage to reports/phpunit.xml. Now reports/junit.xml and reports/clover.xml. - Delete the unused ci/cache directory (left over from a previous CI setup). Co-authored-by: Dave Liddament <dave.liddament@gmail.com> Amp-Thread-ID: https://ampcode.com/threads/T-01a1b0cd-7fda-7462-b558-ec2129f1544a
DaveLiddament
force-pushed
the
chore/ci-tooling
branch
from
November 6, 2026 13:09
6fcbd90 to
c95c86b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docker: root-owned artifacts
The containers ran as root, so anything they wrote to the mounted volume (
vendor/files,reports/,.phpunit.cache/,tests/scratchpad/— 67 accumulated root-owned dirs) was root-owned on the host, breaking subsequent non-docker runs (composer install, phpunit report writes, even a unit test that writes a scratch file).${UID:-1000}:${GID:-1000}withHOME=/tmpand a tmp composer cache.XDEBUG_MODE=offby default in the containers — Xdebug was active for every in-container run; the composer test scripts already enable it where coverage is needed. Verified:composer ciin the rebuilt php84 container passes end-to-end as the mapped user.safe.directorymoved from--global(root's HOME, invisible to the mapped user) to--system.sudo chown -R $(id -u):$(id -g) reports .phpunit.cache tests/scratchpad vendoronce.Broken scratchpad exclusions
.php-cs-fixer.phpused->exclude('/tests/scratchpad'), but Finderexclude()takes paths relative to eachin()dir — it matched nothing, so cs-fixer was scanning 60+ files inside generated test git repos (verified: finder picked up 63 scratchpad files; after the fix the scan drops from 289 to 222 files). Same gap fixed forparallel-lint.GitHub Actions
actions/checkout@v2→v4(v2 runs a deprecated Node runtime scheduled for forced failure).::set-output(removed command syntax) →$GITHUB_OUTPUT.permissions: contents: readand aconcurrencygroup that cancels superseded PR runs.restore-keyswas identical to the primary key (useless) — now a proper prefix fallback.ubuntu-22.04→ubuntu-24.04.Misc
reports/coverage.xmland clover coverage toreports/phpunit.xml. Nowreports/junit.xml/reports/clover.xml.ci/cache/directory (unreferenced since the pre-Actions CI setup).