🏭 Split GHA jobs and extract composite actions#1960
🏭 Split GHA jobs and extract composite actions#1960SimonMarquis wants to merge 3 commits intoandroid:mainfrom
Conversation
|
@dturner please take a look at this PR when you have time :) |
|
Thanks for the PR Simon. I'd say this adds complexity in exchange for readability. As it stands, the file is easy to understand and developers can copy-paste into their projects. I don't think it's long enough or the code repetition is annoying enough to require this refactoring. I wouldn't merge, but happy to discuss. |
|
I don't feel strongly either way. I think we should fix any mistakes and oversights but don't think the new format improves things that much. It's useful to see all the steps in a single workflow file. |
|
Composite actions extraction aside (I can see it not being beginner friendly, and not a 1-step copy/paste), do you still see a benefit of showing how to properly split CI pipelines into semantic groups and also allow faster overall execution time? |
|
Yes, I do like the new semantic groups. |
|
I've restored the workflows by inlining the composite actions as requested. Regarding this, how do you want to proceed?
Do you want to update the repository configuration (required checks) with all the new jobs, or do we add a single |
Main advantages:
Extracted composite actions:
Jobs split into more granular groups:
Current workflows
test_and_apk::build-logic:convention:check,spotlessCheck,dependencyGuard,dependencyGuardBaseline,verifyRoborazziDemoDebug,recordRoborazziDemoDebug,testDemoDebug,:lint:test,:app:assemble,:app:lintProdRelease,:app-nia-catalog:lintRelease,:lint:lint,:app:checkProdReleaseBadgingandroidTest:connectedDemoDebugAndroidTest,testDemoDebugUnitTest,createDemoDebugCombinedCoverageReportNew workflows
checks::build-logic:convention:check,spotlessCheck,dependencyGuard,dependencyGuardBaseline,:app:checkProdReleaseBadgingassemble::app:assemblelint::app:lintProdRelease,:app-nia-catalog:lintRelease,:lint:lintunit-tests:verifyRoborazziDemoDebug,recordRoborazziDemoDebug,testDemoDebug,:lint:testinstrumented-tests:connectedDemoDebugAndroidTest,testDemoDebugUnitTest,createDemoDebugCombinedCoverageReportFor the required checked jobs, this fan-in method can be applied to simplify the required checks configuration.