incubator-devlake icon indicating copy to clipboard operation
incubator-devlake copied to clipboard

chore(cicd): add extra statuses for ci/cd jobs

Open petkostas opened this issue 5 months ago • 4 comments

Summary

This PR extends the CI/CD analytics to support more granular result categorization by adding Canceled and Skipped result types alongside the existing Success and Failure types. This provides better insights into CI/CD pipeline outcomes and more accurate DORA metrics.

Please note this covers for now:

  • GitHub (✅ Veridfied)
  • BitBucket (⚠️ Unverified)
  • CircleCI (⚠️ Unverified)
  • Gitlab (⚠️ Unverified)
  • Bamboo (⚠️ Unverified)
  • Jenkins (⚠️ Unverified)
  • Azure DevOps (⚠️ Unverified)

Does this close any open issues?

Closes #8570

Screenshots

Screenshot 2025-10-01 at 16 55 40

petkostas avatar Oct 01 '25 14:10 petkostas

@klesh I can only verify the GitHub part since that is what I have access too (I could check with GitLab but it is been a while since I used it so it will require more time to test). Let me know if you would prefer to keep only the GitHub changes for now and then gradually look into introducing the other statuses for the other data sources.

petkostas avatar Oct 02 '25 13:10 petkostas

@petkostas Thank for the information. Testing new features for all data sources is time-consuming, sometimes impossible due to paywalls or data availability. I think it is OK to push it out when it is working properly on 1 data source.

Adding new statuses for all data sources should be OK as long as it doesn't break any existing dashboards IMO. @Startrekzky Do you recall any dashboards depending on the cicd_pipelines.status being SUCCESS, FAILURE, and `` only? In other words, would any dashboard break if new statuses CANCELED and SKIPPED were introduced?

klesh avatar Oct 09 '25 03:10 klesh

@petkostas Thank for the information. Testing new features for all data sources is time-consuming, sometimes impossible due to paywalls or data availability. I think it is OK to push it out when it is working properly on 1 data source.

Adding new statuses for all data sources should be OK as long as it doesn't break any existing dashboards IMO. @Startrekzky Do you recall any dashboards depending on the cicd_pipelines.status being SUCCESS, FAILURE, and `` only? In other words, would any dashboard break if new statuses CANCELED and SKIPPED were introduced?

Thanks @klesh I think it's best to move with GitHub only and then gradually introduce the others through maybe contributors who have access to the other data sources. I will re-factor the existing PR to include only GitHub related changes, I think it will also help the changes reach the main branch faster 😃

petkostas avatar Oct 09 '25 14:10 petkostas

@petkostas Thank for the information. Testing new features for all data sources is time-consuming, sometimes impossible due to paywalls or data availability. I think it is OK to push it out when it is working properly on 1 data source. Adding new statuses for all data sources should be OK as long as it doesn't break any existing dashboards IMO. @Startrekzky Do you recall any dashboards depending on the cicd_pipelines.status being SUCCESS, FAILURE, and `` only? In other words, would any dashboard break if new statuses CANCELED and SKIPPED were introduced?

Thanks @klesh I think it's best to move with GitHub only and then gradually introduce the others through maybe contributors who have access to the other data sources. I will re-factor the existing PR to include only GitHub related changes, I think it will also help the changes reach the main branch faster 😃

LGTM

klesh avatar Oct 10 '25 08:10 klesh