Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
a49564a
PFM-TASK-6308 Initial plan discussion
senthanal May 20, 2025
a184bb7
PFM-TASK-6308 Update .gitignore and project configuration for GHA wor…
senthanal May 20, 2025
312b55c
PFM-TASK-6308 update master plan
senthanal May 20, 2025
8765566
PFM-TASK-6308 update master plan
senthanal May 20, 2025
dea33af
PFM-TASK-6308 update master plan
senthanal May 20, 2025
54393c6
PFM-TASK-6308 update master plan
senthanal May 20, 2025
a9f0392
PFM-TASK-6308 update master plan
senthanal May 20, 2025
6625159
PFM-TASK-6308 add RFC template for feature proposals
senthanal May 20, 2025
a299e95
PFM-TASK-6308 implement coverage gate with threshold evaluation and r…
senthanal May 21, 2025
4bb95b2
PFM-TASK-6308 create reusable GitHub Action for code coverage evaluat…
senthanal May 21, 2025
c6b4573
PFM-TASK-6308 create reusable GitHub Action for code coverage evaluat…
senthanal May 21, 2025
035baf1
PFM-TASK-6308 add input for enabling coverage gate in GitHub Action w…
senthanal May 21, 2025
6107204
PFM-TASK-6308 refactor: update coverage gate logic and improve GitHub…
senthanal May 21, 2025
5e2406c
PFM-TASK-6308 refactor: enhance coverage evaluation logic and improve…
senthanal May 21, 2025
d5eddf0
PFM-TASK-6308 refactor: update GitHub Action to use environment varia…
senthanal May 21, 2025
2e8203f
PFM-TASK-6308 chore: add jest-junit for test result reporting in GitH…
senthanal May 21, 2025
bbb5e22
PFM-TASK-6308 refactor: enhance coverage evaluation and reporting for…
senthanal May 21, 2025
6408f98
PFM-TASK-6308 test: add comprehensive tests for coverage evaluation a…
senthanal May 21, 2025
dd056ea
PFM-TASK-6308 refactor: update coverage evaluation to return failure …
senthanal May 21, 2025
1ca22e4
PFM-TASK-6308 refactor: enhance coverage reporting to show individual…
senthanal May 26, 2025
248695f
PFM-TASK-6308 refactor: specify coverage directory for improved repor…
senthanal May 27, 2025
5758e17
PFM-TASK-6308 refactor: optimize job configuration for code coverage …
senthanal May 27, 2025
6773c61
PFM-TASK-6308 refactor: enhance coverage evaluation logic and add de…
senthanal May 27, 2025
51346e2
PFM-TASK-6308 refactor: expand job matrix for code coverage to improv…
senthanal May 27, 2025
bf56460
PFM-TASK-6308 refactor: implement test failure report generation and …
senthanal May 27, 2025
778fe6b
PFM-TASK-6308 refactor: enhance coverage report for skipped projects …
senthanal May 27, 2025
049389a
PFM-TASK-6308 refactor: improve project skipping logic in coverage ev…
senthanal May 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .claudesync/reusable-gha-code-coverage-gate/RFC-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# RFC Title

## Summary
A brief overview of the proposed feature or change.

## Motivation / Why
Explain the problem or limitation this RFC addresses.

## Proposed Solution / Design
Detailed description of the new API, syntax, or feature. Include examples if applicable.

## Technical Details
In-depth explanation of implementation, internals, and integration with existing Angular features.

## Benefits
List advantages such as improved developer experience, performance, or alignment with modern standards.

## Drawbacks / Alternatives
Potential downsides or alternative solutions considered.

## Community Feedback
Summary or invitation for community feedback to refine the proposal.

## Conclusion
Final thoughts and next steps.
Original file line number Diff line number Diff line change
@@ -0,0 +1,327 @@
WEBVTT

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/7-0
00:00:12.155 --> 00:00:12.875
<v Senthanal Sirpi Manohar>Oh, there you go.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/9-0
00:00:18.215 --> 00:00:19.175
<v Alekhya Jammalamadaka>You're sharing something.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/11-0
00:00:22.775 --> 00:00:23.575
<v Senthanal Sirpi Manohar>Yeah, I do share.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/15-0
00:00:25.405 --> 00:00:27.085
<v Senthanal Sirpi Manohar>So the sharing started.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/17-0
00:00:28.225 --> 00:00:29.065
<v Alekhya Jammalamadaka>Yeah. Yeah, so.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/34-0
00:00:30.645 --> 00:00:35.939
<v Alekhya Jammalamadaka>OK,
so now as we want to create a reusable</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/34-1
00:00:35.939 --> 00:00:40.125
<v Alekhya Jammalamadaka>GitHub coverage here new workflow.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/69-0
00:00:42.895 --> 00:00:45.882
<v Alekhya Jammalamadaka>So inside the test,
where do we start with?</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/69-1
00:00:45.882 --> 00:00:50.431
<v Alekhya Jammalamadaka>We have to create a first.
We have to create a new workflow in the</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/69-2
00:00:50.431 --> 00:00:54.775
<v Alekhya Jammalamadaka>GitHub action repo or we want to start
with the C Plus AP Repo.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/88-0
00:00:57.695 --> 00:01:04.423
<v Senthanal Sirpi Manohar>We should start with the get up actions
repo because that's where all the</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/83-0
00:01:01.685 --> 00:01:01.885
<v Alekhya Jammalamadaka>Mm hmm.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/88-1
00:01:04.423 --> 00:01:07.695
<v Senthanal Sirpi Manohar>reusable git up actions are defined.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/104-0
00:01:09.215 --> 00:01:15.423
<v Senthanal Sirpi Manohar>And all the Fe reports users the get up
actions feasible get up actions from the</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/104-1
00:01:15.423 --> 00:01:17.415
<v Senthanal Sirpi Manohar>get Up actions repository.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/120-0
00:01:18.965 --> 00:01:24.934
<v Senthanal Sirpi Manohar>So we need to start from the get up
actions depository and that we already</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/120-1
00:01:24.934 --> 00:01:26.685
<v Senthanal Sirpi Manohar>have the core quality.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/127-0
00:01:28.245 --> 00:01:30.725
<v Senthanal Sirpi Manohar>Core flow and which is on workflow call.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/132-0
00:01:30.675 --> 00:01:32.755
<v Alekhya Jammalamadaka>Yep, Yep.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/147-0
00:01:32.565 --> 00:01:38.536
<v Senthanal Sirpi Manohar>And we need similar to the code quality
workflow but with the coverage and</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/147-1
00:01:38.536 --> 00:01:40.845
<v Senthanal Sirpi Manohar>coverage get get added to it.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/150-0
00:01:43.385 --> 00:01:44.305
<v Senthanal Sirpi Manohar>And the governor?</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/178-0
00:01:44.675 --> 00:01:49.986
<v Alekhya Jammalamadaka>The secret for the workflow for now,
we will be calling same thing like as the</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/178-1
00:01:49.986 --> 00:01:55.297
<v Alekhya Jammalamadaka>same code quality we will be calling
something like runmini master that we are</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/178-2
00:01:55.297 --> 00:01:57.515
<v Alekhya Jammalamadaka>already calling in the unit test.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/192-0
00:01:59.085 --> 00:02:05.780
<v Alekhya Jammalamadaka>Something similar to that inside that we
will be also adding another param like</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/192-1
00:02:05.780 --> 00:02:06.365
<v Alekhya Jammalamadaka>secret.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/207-0
00:02:07.965 --> 00:02:13.537
<v Alekhya Jammalamadaka>Where we will be having the threshold
configuration for each library for that</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/207-1
00:02:13.537 --> 00:02:13.965
<v Alekhya Jammalamadaka>reple.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/257-0
00:02:16.115 --> 00:02:22.043
<v Senthanal Sirpi Manohar>I think we need to switch.
I mean we need to switch between normal</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/257-1
00:02:22.043 --> 00:02:26.289
<v Senthanal Sirpi Manohar>code quality and one with the code
quality kit.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/257-2
00:02:26.289 --> 00:02:33.366
<v Senthanal Sirpi Manohar>So I think we could do that with this
secret which you mentioned GitHub secret.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/235-0
00:02:27.045 --> 00:02:27.245
<v Alekhya Jammalamadaka>Mm hmm.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/247-0
00:02:31.595 --> 00:02:31.715
<v Alekhya Jammalamadaka>And.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/257-3
00:02:33.366 --> 00:02:40.355
<v Senthanal Sirpi Manohar>So if the GitHub secret as well you and
if it is defined then we can take the.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/262-0
00:02:40.445 --> 00:02:40.645
<v Alekhya Jammalamadaka>Mm hmm.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/263-0
00:02:41.365 --> 00:02:43.405
<v Senthanal Sirpi Manohar>Code coverage workflow.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/280-0
00:02:44.585 --> 00:02:49.643
<v Senthanal Sirpi Manohar>If not, then we we take the code quality,
the existing one.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/278-0
00:02:48.835 --> 00:02:49.995
<v Alekhya Jammalamadaka>Yeah. OK.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/280-1
00:02:49.643 --> 00:02:52.425
<v Senthanal Sirpi Manohar>So this we could split the logic.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/287-0
00:02:54.325 --> 00:02:58.365
<v Alekhya Jammalamadaka>Mm hmm.
Then do we need another workflow for that?</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/299-0
00:03:00.845 --> 00:03:03.702
<v Senthanal Sirpi Manohar>Yeah,
we need to create a new workflow file.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/299-1
00:03:03.702 --> 00:03:04.845
<v Senthanal Sirpi Manohar>We can call it as.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/331-0
00:03:06.485 --> 00:03:12.733
<v Senthanal Sirpi Manohar>Code quality kit. Yeah,
code quality kit and in the code quality</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/308-0
00:03:06.885 --> 00:03:08.325
<v Alekhya Jammalamadaka>Average K dot it.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/317-0
00:03:11.325 --> 00:03:11.525
<v Alekhya Jammalamadaka>Mm hmm.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/331-1
00:03:12.733 --> 00:03:19.365
<v Senthanal Sirpi Manohar>git we can add this coverage flag to the
existing GIST unit test so.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/337-0
00:03:21.215 --> 00:03:22.935
<v Senthanal Sirpi Manohar>And this will run for all.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/343-0
00:03:24.525 --> 00:03:26.365
<v Senthanal Sirpi Manohar>All apps and lips the affected.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/374-0
00:03:28.885 --> 00:03:35.357
<v Senthanal Sirpi Manohar>MX apps and lips and produces the
coverage and some of the coverage</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/374-1
00:03:35.357 --> 00:03:43.066
<v Senthanal Sirpi Manohar>threshold need to be elevated against
this git up secret and this git up secret.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/374-2
00:03:43.066 --> 00:03:45.445
<v Senthanal Sirpi Manohar>It should be an adjacent.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/386-0
00:03:47.285 --> 00:03:52.405
<v Senthanal Sirpi Manohar>Object and this should provide the app
name or Lib name.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/382-0
00:03:49.295 --> 00:03:49.495
<v Alekhya Jammalamadaka>Mm hmm.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/388-0
00:03:53.405 --> 00:03:54.005
<v Senthanal Sirpi Manohar>With that.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/405-0
00:03:56.045 --> 00:03:58.595
<v Senthanal Sirpi Manohar>Coverage,
line coverage and statement coverage and</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/405-1
00:03:58.595 --> 00:04:01.245
<v Senthanal Sirpi Manohar>functions coverage and franchise coverage
threshold.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/417-0
00:04:05.945 --> 00:04:10.905
<v Senthanal Sirpi Manohar>And then the new quality gate,
our workflow this needs to be elevated.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/422-0
00:04:12.445 --> 00:04:13.325
<v Senthanal Sirpi Manohar>And the pipeline.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/439-0
00:04:15.045 --> 00:04:19.355
<v Senthanal Sirpi Manohar>Should be green if it satisfies the
threshold. If not,</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/439-1
00:04:19.355 --> 00:04:24.605
<v Senthanal Sirpi Manohar>the pipeline should fail,
so they should be our target to achieve.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/458-0
00:04:28.225 --> 00:04:32.612
<v Senthanal Sirpi Manohar>So for this we need to create an A master
plan. How to implement it?</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/446-0
00:04:28.375 --> 00:04:29.495
<v Alekhya Jammalamadaka>Mm hmm. OK.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/458-1
00:04:32.612 --> 00:04:36.745
<v Senthanal Sirpi Manohar>Probably we could use the claw rate to
generate the master plan.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/454-0
00:04:34.525 --> 00:04:34.725
<v Alekhya Jammalamadaka>Mm hmm.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/465-0
00:04:38.765 --> 00:04:41.165
<v Senthanal Sirpi Manohar>And let the cloud to guide us in the
process.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/468-0
00:04:39.665 --> 00:04:44.025
<v Alekhya Jammalamadaka>Yeah, makes sense.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/489-0
00:04:46.345 --> 00:04:54.544
<v Alekhya Jammalamadaka>OK. And maybe this is sloven is here,
I will share him share with the road map</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/489-1
00:04:54.544 --> 00:04:57.865
<v Alekhya Jammalamadaka>that we have and we'll get some.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/486-0
00:04:55.905 --> 00:04:56.105
<v Senthanal Sirpi Manohar>Mm hmm.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/502-0
00:05:00.925 --> 00:05:05.765
<v Senthanal Sirpi Manohar>Yeah. So maybe I stopped the recording.
You can use the transcript already for.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/500-0
00:05:03.725 --> 00:05:03.925
<v Alekhya Jammalamadaka>Yep.</v>

d2af6f38-3883-44ee-8f52-3ec1c2e894d4/503-0
00:05:07.685 --> 00:05:07.805
<v Alekhya Jammalamadaka>Yep.</v>
Loading