CI should run jobs based on changes in the latest commit(s) not the branch as a whole.
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 5
- Forks
- 1
- Avg merge
- 17h 48m
- Merged PRs (30d)
- 2
Description
Currently CI checks for changes in the entire branch not just the latest commit(s) that you pushed. This makes sense because you might of had previous commits that changed code that needs testing.
As an alternative we could check changes within commits only and check any tests that failed previously. This should also check dependencies as well. For example:
Commit 1: hub_opencut, orica_backend, and hub_photo get changed.
CI Job 1: Should run checks on: hub_opencut, orica_backend, whirlpool(it uses orica_backend), and hub_photo. It fails on hub_opencut and hub_photo.
Commit 2: hub_opencut gets changed.
CI Job 2: Checks hub_opencut and hub_photo since hub_photo failed CI last time. You might also just be able to report the existing failed run for hub_photo and not re-run since it hasn't changed?
Another complicated piece is that users could have multiple commits since the last CI run and those will have to be summed together when diffing.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by locating the CI change-detection logic and its handling of failed jobs and dependencies; done should mean that multiple commits are combined, changed components and their dependencies are selected, and previously failed unchanged checks are handled as described.
Written by the indexing model from the issue text.
Assessment
- Domain
- ci-cd
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100