refactor(ci): extract shared test suite, trim CodeQL, add timeouts#3
Merged
Merged
Conversation
Extract the backend/frontend/e2e/api-freshness matrix into an internal _python-react-tests.yml building block called by both python-react-ci.yml and python-react-publish.yml, removing ~150 lines of duplicated job YAML and the CI/publish drift it caused. A skipped optional inner job no longer fails the shared tests job, so publish's docker/release gates simplify to plain needs: (the always()/result guards are gone). Trim CodeQL: drop the per-language toolchain setup and dependency-install steps (build-mode: none scans source only; Python dependency install has had no effect on results since CodeQL 2.16), wire build-mode through to init, and lower the analysis timeout from 360 to 45 minutes. Add explicit timeout-minutes to the frontend, api-freshness, docker-build-test, and publish docker/release jobs (previously defaulted to the 6-hour ceiling); lower backend pytest's inner timeout 25m -> 20m. No consumer-facing input or behavior change.
… repos pg-migrations regained `needs: [tests]`. The test-suite extraction dropped its gate entirely (it could no longer reference the now-encapsulated test-backend job), so PG migration tests ran even when backend lint/type/ unit tests had already failed. Correct the CHANGELOG: the refactor's "no consumer-facing behavior change" claim was wrong on two counts — the test-job check contexts are renamed to `ci / tests / *` (breaks branch protection until required-check contexts are updated) and publish now gates the image on E2E. Add a Migration section and a README "Required status checks" section documenting the new naming. Remove all private-repo names (collectionsync, myhealth, myfinances) from the public README and CHANGELOG — no reason to disclose private repos in a public repo where they're inaccessible anyway. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Move the Unreleased entries under the 1.4.0 header for the release tag. Co-Authored-By: Claude Opus 4.8 <[email protected]>
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.
Extract the backend/frontend/e2e/api-freshness matrix into an internal
_python-react-tests.yml building block called by both python-react-ci.yml
and python-react-publish.yml, removing ~150 lines of duplicated job YAML
and the CI/publish drift it caused. A skipped optional inner job no longer
fails the shared tests job, so publish's docker/release gates simplify to
plain needs: (the always()/result guards are gone).
Trim CodeQL: drop the per-language toolchain setup and dependency-install
steps (build-mode: none scans source only; Python dependency install has
had no effect on results since CodeQL 2.16), wire build-mode through to
init, and lower the analysis timeout from 360 to 45 minutes.
Add explicit timeout-minutes to the frontend, api-freshness,
docker-build-test, and publish docker/release jobs (previously defaulted
to the 6-hour ceiling); lower backend pytest's inner timeout 25m -> 20m.
No consumer-facing input or behavior change.