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
chore(beyla.ebpf): Improve instructions for agentic beyla upgrades (#5975)
### Pull Request Details
The workflow that creates automatic upgrades for `beyla.ebpf` component
work properly
but it missed some steps. This PR fixes some of the issues.
### PR Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to
[x]. -->
- [ ] Documentation added
- [ ] Tests updated
- [ ] Config converters updated
`go.sum`and `collector/go.sum` may change only if required by module updates.
120
+
`go.sum`, `collector/go.sum`, and `extension/alloyengine/go.sum` may change only if required by module updates.
120
121
121
122
## Required contents of `.github/agent-output/plan.md`
122
123
@@ -128,6 +129,8 @@ jobs:
128
129
- Risks or likely failure points
129
130
130
131
Include the exact Beyla module version and OBI pseudo-version you resolved, identify the new fields or behavior Alloy needs for parity, and list the exact commands the implementation job should run to verify the change.
132
+
If the implementation is likely to introduce any new helper, converter, or validator functions, call out the unit tests that must be added for them.
133
+
If Beyla's OpenTelemetry dependency versions diverge from Alloy's current versions, call that out as expected drift and do not propose resolving it in this task.
Your job is to implement the Beyla update described in `.github/agent-input/plan.md`, verify it locally, and open a **draft PR** only after tests pass.
247
240
@@ -254,60 +247,60 @@ jobs:
254
247
If there are no changes to make, do not open a PR.
255
248
If verification fails, do not open a PR.
256
249
257
-
## Status tracking
258
-
259
-
Keep `.github/agent-output/implement-status.md` updated throughout the run so a human can continue from it if this job fails.
260
-
261
-
Update that file:
262
-
- before making changes, with the plan you are executing
263
-
- after each major edit batch
264
-
- after each verification cycle
265
-
- whenever a command fails, including the exact command and a short failure summary
266
-
- at the end, with the final outcome
267
-
268
-
The status file should stay concise, but it must include what you tried, what failed, and what remains to do.
You may also update `go.sum` or `collector/go.sum` if the module changes require it. Do not touch unrelated files.
264
+
You may also update `go.sum`, `collector/go.sum`, or `extension/alloyengine/go.sum` if the module changes require it. Do not touch unrelated files.
265
+
Do not create, stage, or commit `.github/agent-output/implement-status.md` or any similar tracking file.
266
+
Prefer updating source-of-truth files and then using the repo Make targets to regenerate derived module files. Do not hand-edit `collector/go.mod` when `make generate-otel-collector-distro` can regenerate it.
284
267
285
268
## Implementation requirements
286
269
287
270
1. Bump the OBI replacement version derived from Beyla's pinned `.obi-src` SHA in:
288
271
- `collector/builder-config.yaml`
289
272
- `dependency-replacements.yaml`
290
-
- `collector/go.mod`
291
273
292
274
2. Bump the Beyla version in:
275
+
- `extension/alloyengine/go.mod`
293
276
- `go.mod`
294
277
- `docs/sources/_index.md.t`
295
278
296
-
3. After bumping module versions, run:
297
-
- `go mod tidy`
298
-
- `(cd collector && go mod tidy)`
279
+
3. After updating the source-of-truth files, run:
280
+
- `make generate-module-dependencies`
281
+
- `make generate-otel-collector-distro`
282
+
283
+
4. Review and keep the generated module changes produced by those Make targets as needed, including:
284
+
- `collector/go.mod`
285
+
- `collector/go.sum`
286
+
- `go.mod`
287
+
- `go.sum`
288
+
- `extension/alloyengine/go.mod`
289
+
- `extension/alloyengine/go.sum`
299
290
300
-
4. Compare the current Alloy Beyla integration against the target Beyla release and add any newly added fields needed for parity in:
291
+
5. Compare the current Alloy Beyla integration against the target Beyla release and add any newly added fields needed for parity in:
5. When determining newly added fields, inspect the relevant Beyla changes instead of guessing. Update only fields and behavior that are newly required for this release.
297
+
6. When determining newly added fields, inspect the relevant Beyla changes instead of guessing. Update only fields and behavior that are newly required for this release.
307
298
308
-
6. In `beyla_linux.go`, add matching convert and validate logic for the new fields, preserving existing defaults and zero-value behavior.
299
+
7. In `beyla_linux.go`, add matching convert and validate logic for the new fields, preserving existing defaults and zero-value behavior.
309
300
310
-
7. In `beyla_linux_test.go`, add focused tests for the new fields and any new validation behavior.
301
+
8. In `beyla_linux_test.go`, add focused tests for the new fields and any new validation behavior.
302
+
9. Every newly added function must have focused unit test coverage. If you add a helper, converter, or validator function, add or extend tests that exercise that function directly instead of relying only on broader end-to-end behavior.
303
+
10. If Beyla's OpenTelemetry dependency versions differ from Alloy's current versions after the bump, leave that divergence in place and mention it in the PR body instead of trying to reconcile it here.
311
304
312
305
## Style constraints
313
306
@@ -317,10 +310,13 @@ jobs:
317
310
- Preserve field ordering and naming patterns where possible.
318
311
- Keep docs concise and consistent with existing wording and table format.
319
312
- Do not add compatibility shims unless they are strictly required by the target Beyla release.
313
+
- Do not introduce a new function without also introducing the unit test coverage for it.
314
+
- `make alloy` is fine as a build check, but it does not replace `make generate-module-dependencies` or `make generate-otel-collector-distro` for dependency and collector regeneration.
320
315
321
316
## Verification
322
317
323
318
Run the following after editing:
319
+
- `SKIP_UI_BUILD=1 make alloy`
324
320
- `go test ./internal/component/beyla/ebpf/...`
325
321
326
322
Fix any failures caused by your changes before continuing.
@@ -330,15 +326,16 @@ jobs:
330
326
- Create a branch named `agent/bump-beyla-${{ inputs.beyla_release_tag }}`
331
327
- **Do not stage or commit files under `.github/agent-output/`.**
332
328
Before committing, run `git reset HEAD .github/agent-output` (if staged) and add `.github/agent-output/` to `.git/info/exclude`.
333
-
- Commit with message `chore(beyla): Bump to ${{ inputs.beyla_release_tag }}`
329
+
- Commit with message `feat(beyla.ebpf): Bump to ${{ inputs.beyla_release_tag }}`
334
330
- Push the branch to `origin`
335
331
- Open a **draft PR** against `${{ inputs.source_ref }}`
336
-
- Use a conventional PR title, for example `chore(beyla): Bump to ${{ inputs.beyla_release_tag }}`
332
+
- Use a conventional PR title, for example `feat(beyla.ebpf): Bump to ${{ inputs.beyla_release_tag }}`
337
333
338
334
Use a concise PR body that summarizes:
339
335
- the Beyla version bump
340
336
- the OBI replacement bump
341
337
- any newly mapped Beyla fields
338
+
- any expected OpenTelemetry version divergence that is intentionally left for a follow-up task
342
339
343
340
## Dependency review notice
344
341
@@ -356,20 +353,3 @@ jobs:
356
353
List the affected modules and their version changes in that section.
0 commit comments