Skip to content

ci: add gpuagent build workflow and fix abseil linker group#74

Merged
sarat-k merged 4 commits into
ROCm:mainfrom
spraveenio:feature/updatebuildenv
Jun 24, 2026
Merged

ci: add gpuagent build workflow and fix abseil linker group#74
sarat-k merged 4 commits into
ROCm:mainfrom
spraveenio:feature/updatebuildenv

Conversation

@spraveenio

Copy link
Copy Markdown
Contributor

Summary

  • Add .github/workflows/ci.yml: GitHub Actions CI workflow that builds gpuagent on every PR and push to main, using the RHEL9 builder container with GHA layer cache
  • Fix sw/nic/gpuagent/Makefile: add --start-group/--end-group around the gRPC/abseil static archive group, required for GNU ld on Ubuntu 24.04 (the CI runner)

Details

CI workflow (ci.yml):

  • Triggers on all PRs ('**'), pushes to main, and workflow_dispatch
  • Builds the RHEL9 builder container from tools/build-container/Dokerfile.rhel9 with GHA layer cache to speed up repeat runs
  • Runs make gpuagent inside the builder container to validate the full build
  • External contributor PRs show an "Approve and run" button (controlled via repo Settings → Actions → Fork pull request workflows)
  • Cancels in-progress runs on the same ref to avoid redundant builds

Linker fix (sw/nic/gpuagent/Makefile):

  • GNU ld on Ubuntu 24.04 enforces stricter archive ordering than older linkers
  • The gRPC + abseil static archive block has circular symbol references that require explicit grouping
  • Adds -Wl,--start-group before -lgrpc++_reflection and -Wl,--end-group after -labsl_flags_parse

Test Plan

  • CI Build workflow appears in PR checks tab on this PR
  • Workflow completes successfully (build passes)
  • Verify make gpuagent produces sw/nic/build/x86_64/sim/bin/gpuagent and gpuctl

🤖 Generated with Claude Code

spraveenio and others added 4 commits June 22, 2026 17:01
…group

GNU ld on Ubuntu 24.04 requires explicit archive grouping for circular
references between static archives. Without the group brackets the linker
emits undefined symbol errors for abseil and gRPC symbols.
Validates every PR and push to main builds gpuagent successfully. Uses
the RHEL9 builder container with GHA layer cache to keep repeat runs fast.
External contributor PRs require maintainer approval before the workflow
runs (configured via repo Settings → Actions → Fork pull request workflows).

@rsrikanth86 rsrikanth86 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@sarat-k sarat-k merged commit 22ec821 into ROCm:main Jun 24, 2026
spraveenio added a commit to ROCm/device-metrics-exporter that referenced this pull request Jul 10, 2026
… upstreamed abseil patch (#553)

* [NO-JIRA] chore(gpuagent): bump to main HEAD ad0f7f10, drop upstreamed abseil patch (#1447)

* chore(gpuagent): bump to main HEAD ad0f7f10, drop upstreamed abseil patch

Advance GPUAGENT_COMMIT from 9af0bf5b → ad0f7f10 (2026-07-10).
Commits pulled in:
  22ec8211 — abseil --start-group/--end-group linker fix (ROCm/gpu-agent#74)
  ad0f7f10 — CVE fix: go 1.25.11→1.25.12, x/net v0.55.0, x/sys v0.44.0 (ROCm/gpu-agent#77)

Remove patch/gpuagent/0001-abseil-link-start-group.patch — merged
upstream in ROCm/gpu-agent#74. 0002-gpuop-907-clock-freq-oob.patch
stays (PR #75 still open).

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: add plan file for gpuagent bump to ad0f7f10

Satisfies the per-PR plan-file CI gate for #1447.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
(cherry picked from commit 6c587757f14987ac70ec3ecc9aac457a5641e948)

* Delete docs-internal/knowledge/plans/2026-07-09-gpuagent-bump-ad0f7f10.md

---------

Co-authored-by: Praveen Kumar Shanmugam <58961022+spraveenio@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants