openwisp / openwisp/openwisp-controller

[ci] Investigate and brainstorm ways to speed up CI

Open
#1,317 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

testing
Dominant language
Python
Stars
773
Forks
315
Avg merge
2d 16h
Merged PRs (30d)
14

Description

The CI pipeline is currently running over 1000 tests, which can result in prolonged build and feedback times. This issue is for brainstorming and tracking ideas to optimize, speed up, or parallelize the CI process.

Potential discussion points:

  • Identifying the slowest parts of the CI
  • Opportunities for test parallelism or sharding
  • Caching dependencies or test results
  • Removing unnecessary or redundant tests
  • Leveraging incremental or selective test runs for PRs
  • CI configuration or workflow improvements

Contributions and suggestions from the community are welcome!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by measuring the slowest parts of the CI pipeline and reviewing its configuration and test execution. Compare options such as parallelism, sharding, dependency or result caching, and selective runs; done means a specific optimization plan with measurable improvements is agreed.

Written by the indexing model from the issue text.

Assessment

Domain
ci-cd, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.