Speed up CI: run static analysis in parallel with Docker builds#271
Open
vojtabiberle wants to merge 1 commit intomainfrom
Open
Speed up CI: run static analysis in parallel with Docker builds#271vojtabiberle wants to merge 1 commit intomainfrom
vojtabiberle wants to merge 1 commit intomainfrom
Conversation
Split the build job into a lightweight paths_filter job and a Docker-only build job. Static analysis (phplint, phpcs, phpstan) now runs natively via shivammathur/setup-php in parallel with the Docker image build, eliminating the 5+ min Docker wait for lint/type errors. - Add static-analysis.yml reusable workflow with native PHP setup - Add ci-tests composer script to each package (validate + tests only) - Switch package workflows from composer ci/check to ci-tests - Merge redundant protoc Docker build into build_common_driver job - Add phplint to php-storage-driver-snowflake package - Gate test_results on static_analysis + all package builds Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
Summary
buildjob into lightweightpaths_filter(~15s) + Docker-onlybuild(~5min), enabling static analysis to start immediatelystatic-analysis.yml) that runs phplint/phpcs/phpstan viashivammathur/setup-phpwithout Docker, in parallel with the Docker image buildbuild-php-storage-driver-common.ymlby merging theprotocjob intobuild_common_driver(dev image is a cache hit)ci-testscomposer script to all 5 packages (validate + tests only), used by Docker-based workflows now that static analysis runs separatelyphplinttophp-storage-driver-snowflake(was the only package missing it)New pipeline flow
Test plan
static_analysisjob starts within seconds of push and finishes in ~1-2 minstatic_analysisruns in parallel withbuild(Docker image build)build_php_storage_driver_commononly builds one Docker image (protoc uses cache hit)ci-tests(no phplint/phpcs/phpstan in Docker logs)monorepo_splitcorrectly🤖 Generated with Claude Code