hasura / hasura/graphql-engine

server: reduce (pytest) integration test run time

Open
#7,136 2 comments 0 reactions 0 assignees View on GitHub
c/server eng-improvement-🌱
Dominant language
TypeScript
Stars
32.1k
Forks
3k
PR merge metrics
PR metrics pending

Description

_Issue split from https://github.com/hasura/graphql-engine/issues/6951_

it currently takes 15+ mins on a beefy desktop to run the integration test suite; we can expect significant slowdown as we add backends. Coupled with [hour-long CI build times (in P95)](https://app.circleci.com/insights/github/hasura/graphql-engine-mono/workflows/build_and_test_workflow/overview) this is prohibitive to testing and integrating changes quickly.

_suggested goal:_
reduce local integration test run time from ~15mins to 3-5 minutes

_suggested improvements_

- confirm that running the entire suite locally is a common workflow. I only have a few data points including my own experience to suggest this is even an issue.
- document running tests in parallel as part of the local development process.
- optimise metadata operations, as suggested in [recent work](https://github.com/hasura/graphql-engine/commit/a935746e174f60463ea7436fc86207d9659cd8e6) improving integration tests.
- figure out, or document, how to easily identify relevant tests for a particular feature, such that devs don't have to run the entire suite.
- combine a haskell code coverage report with the local git diff

related issue https://github.com/hasura/graphql-engine-mono/issues/300

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.