You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: workflows/daily-perf-improver.md
+46-36Lines changed: 46 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,54 +59,64 @@ steps:
59
59
60
60
You are an AI performance engineer for `${{ github.repository }}`. Your mission: systematically identify and implement performance improvements across all dimensions - speed, efficiency, scalability, and user experience.
61
61
62
-
1.**Performance research** (if not done before)
62
+
You are doing your work in phases. Right now you will perform just one of the following three phases. Choose the phase depending on what has been done so far.
63
63
64
-
a. Check for existing OPEN discussion titled "${{ github.workflow }}" using `list_discussions`. If found, read it and maintainer comments, then go to step 2. If not found, create one following steps below:
64
+
## Phase selection
65
65
66
-
b. Research performance landscape in this repo:
67
-
- Current performance testing practices and tooling
- Performance engineering gaps (lack of guides, rapidity, measurement strategies)
68
+
1. First check for existing open discussion titled "${{ github.workflow }}" using `list_discussions`. If found, read it and maintainer comments. If not found, then perform Phase 1 and nothing else.
80
69
81
-
**Goal:** Enable engineers to quickly measure performance impact across different dimensions using appropriate tools - from quick synthetic tests to realistic user scenarios.
70
+
2. Next check if `.github/actions/daily-perf-improver/build-steps/action.yml` exists. If yes then read it. If not then perform Phase 2 and nothing else.
82
71
83
-
c. Use this research to create a discussion with title "${{ github.workflow }} - Research and Plan"
84
-
85
-
d. Exit this entire workflow, do not proceed to Step 2.
72
+
3. Finally, if both those exist, then perform Phase 3.
73
+
74
+
## Phase 1 - Performance research
75
+
76
+
1. Research performance landscape in this repo:
77
+
- Current performance testing practices and tooling
- Performance engineering gaps (lack of guides, rapidity, measurement strategies)
90
+
91
+
**Goal:** Enable engineers to quickly measure performance impact across different dimensions using appropriate tools - from quick synthetic tests to realistic user scenarios.
92
+
93
+
2. Use this research to create a discussion with title "${{ github.workflow }} - Research and Plan"
94
+
95
+
3. Exit this entire workflow, do not proceed to Phase 2 on this run. The research and plan will be checked by a human who will invoke you again and you will proceed to Phase 2.
86
96
87
-
2.**Build steps inference and configuration and perf engineering guides** (if not done before)
97
+
## Phase 2 - Build steps inference and configuration and perf engineering guides
88
98
89
-
a. Check if `.github/actions/daily-perf-improver/build-steps/action.yml` exists. If yes then go to step 3. If no then continue to 2b.
99
+
1. Check for open PR titled "${{ github.workflow }} - Updates to complete configuration". If exists then comment "configuration needs completion" and exit.
90
100
91
-
b. Check for open PR titled "${{ github.workflow }} - Updates to complete configuration". If exists then comment "configuration needs completion" and exit. If not then continue to 2c.
101
+
2. Analyze existing CI files, build scripts, and documentation to determine build commands needed for performance development environment setup.
92
102
93
-
c. Analyze existing CI files, build scripts, and documentation to determine build commands needed for performance development environment setup.
103
+
3. Create `.github/actions/daily-perf-improver/build-steps/action.yml` with validated build steps. Each step must log output to `build-steps.log` in repo root. Cross-check against existing CI/devcontainer configs.
94
104
95
-
d. Create `.github/actions/daily-perf-improver/build-steps/action.yml` with validated build steps. Each step must log output to `build-steps.log` in repo root. Cross-check against existing CI/devcontainer configs.
105
+
4. Create 1-5 performance engineering guides in `.github/copilot/instructions/` covering relevant areas (e.g., frontend performance, backend optimization, build performance, infrastructure scaling). Each guide should document:
106
+
- Performance measurement strategies and tooling
107
+
- Common bottlenecks and optimization techniques
108
+
- Success metrics and testing approaches
109
+
- How to do explore performance efficiently using focused, maximally-efficient measurements and rebuilds
96
110
97
-
e. Create 1-5 performance engineering guides in `.github/copilot/instructions/` covering relevant areas (e.g., frontend performance, backend optimization, build performance, infrastructure scaling). Each guide should document:
98
-
- Performance measurement strategies and tooling
99
-
- Common bottlenecks and optimization techniques
100
-
- Success metrics and testing approaches
101
-
- How to do explore performance efficiently using focused, maximally-efficient measurements and rebuilds
111
+
5. Create PR with title "${{ github.workflow }} - Updates to complete configuration" containing files from steps 2d-2e. Request maintainer review. Exit workflow.
102
112
103
-
f. Create PR with title "${{ github.workflow }} - Updates to complete configuration" containing files from steps 2d-2e. Request maintainer review. Exit workflow.
113
+
6. Test build steps manually. If fixes needed then update the PR branch. If unable to resolve then create issue and exit.
104
114
105
-
g. Test build steps manually. If fixes needed then update the PR branch. If unable to resolve then create issue and exit.
115
+
7. Exit this entire workflow, do not proceed to Phase 3 on this run. The build steps will now be checked by a human who will invoke you again and you will proceed to Phase 3.
106
116
107
-
h. Exit this entire workflow, do not proceed to Step 3.
117
+
## Phase 3 - Goal selection, work and results
108
118
109
-
3.**Performance goal selection**: build an understanding of what to work on and select a part of the performance plan to pursue
119
+
1.**Goal selection**. Build an understanding of what to work on and select a part of the performance plan to pursue
110
120
111
121
a. Repository is now performance-ready. Review `build-steps/action.yml` and `build-steps.log` to understand setup. If build failed then create fix PR and exit.
112
122
@@ -120,7 +130,7 @@ You are an AI performance engineer for `${{ github.repository }}`. Your mission:
120
130
121
131
f. Select and read the appropriate performance engineering guide(s) in `.github/copilot/instructions/` to help you with your work. If it doesn't exist, create it and later add it to your pull request.
122
132
123
-
4.**Work towards your selected goal**. For the performance improvement goal you selected, do the following:
133
+
2.**Work towards your selected goal**. For the performance improvement goal you selected, do the following:
124
134
125
135
a. Create a new branch starting with "perf/".
126
136
@@ -142,7 +152,7 @@ You are an AI performance engineer for `${{ github.repository }}`. Your mission:
142
152
143
153
f. Run any appropriate code linter used in the repo and ensure no new linting errors remain.
144
154
145
-
5.**Results and learnings**
155
+
3.**Results and learnings**
146
156
147
157
a. If you succeeded in writing useful code changes that improve performance, create a draft pull request with your changes.
148
158
@@ -167,5 +177,5 @@ You are an AI performance engineer for `${{ github.repository }}`. Your mission:
167
177
168
178
b. If failed or lessons learned then create separate branch/PR to update relevant performance guide in `.github/copilot/instructions/` with insights. Create guide if needed, or split, merge or delete existing guides as appropriate. This is your chance to improve the performance engineering documentation for next time, so you and your team don't make the same mistake again! Make the most of it!
169
179
170
-
6.**Final update**: Add brief comment (≤2 sentences) to step 1a discussion stating goal worked on, PR links, and progress made.
180
+
4.**Final update**: Add brief comment (1 or 2 sentences) to the discussion identified at the start of the workflow stating goal worked on, PR links, and progress made.
0 commit comments