Preserve PHPStan result cache between playground-runner invocations#14775
Open
iliaal wants to merge 1 commit into
Open
Preserve PHPStan result cache between playground-runner invocations#14775iliaal wants to merge 1 commit into
iliaal wants to merge 1 commit into
Conversation
clearTemp() recursively deleted everything under /tmp on every invocation, including PHPStan's result cache. On a warm Lambda that forced a full cache rebuild on each analysis. Delete only this request's input files (tmp.php and run-phpstan-tmp.neon) instead; the cache is keyed on file content and config, so the reused paths still produce correct results.
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.
Before:
clearTemp()recursively deletes everything under/tmpon every Lambda invocation, including PHPStan's result cache.After: it removes only this request's input files (
/tmp/tmp.php,/tmp/run-phpstan-tmp.neon); the cache survives.Why: on a warm Lambda the full wipe forces PHPStan to rebuild its cache on every analysis. The cache is keyed on file content and config, so reusing the
/tmp/tmp.phppath across requests still yields correct results, and isolation holds because both user-content files are overwritten each request.I couldn't exercise the deployed Lambda from the repo; verified by reading and
php -l. Worth a sanity check on staging that the cache dir under/tmpis the one the container factory reuses.