Skip to content

feat: add fast variant of CI build and smoke test - #109

Merged
sbates130272 merged 8 commits into
mainfrom
feat/dist-build-fast
Jul 31, 2026
Merged

feat: add fast variant of CI build and smoke test#109
sbates130272 merged 8 commits into
mainfrom
feat/dist-build-fast

Conversation

@john00003

Copy link
Copy Markdown
Collaborator

Motivation

We want a faster version of the dist-build and smoke-test Makefile targets.

Technical Details

The dist-build-fast target improves the build time by:

  1. compiling NIXL/UCX with optimizations and other debug tools disabled
  2. compiling only for gfx950 (the machines our CI targets)

Additionally, we disable building the tests/examples for both hipFile and NIXL to reduce the build time.

Currently the smoke-test-fast Makefile target doesn't run any different tests than the normal variant, it just uses the docker container built by the dist-build-fast variant.

Test Plan

Try the dist-build-fast and smoke-test-fast, ensure the build and tests pass. Measure the amount of time the reduced Makefile targets take compared to the regular targets.

Test Result

The reduced compile targets and disabling the tests and examples save ~30s. The reduced gfx compile targets save a couple minutes.

Submission Checklist

@john00003

Copy link
Copy Markdown
Collaborator Author

/run-ci

@john00003

Copy link
Copy Markdown
Collaborator Author

We'll need to update the workflows in /usr/ on the CI runners in order for the CI changes to reflect.

@github-actions

Copy link
Copy Markdown

✅ Hardware CI passed for dafc0cd (dist-build + smoke-test + tiny-test).

Comment thread .github/scripts/spur-dist-build.sh Outdated
Comment thread .github/scripts/spur-smoke-test.sh Outdated
Comment thread .github/workflows/aic-amd-dist-build-fast.yml
Comment thread docker/docker-compose.yml Outdated
Comment thread docker/Dockerfile Outdated
@john00003
john00003 force-pushed the feat/dist-build-fast branch from 2b207b0 to 3d69848 Compare July 29, 2026 21:02
@john00003

john00003 commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator Author

@sbates130272 I addressed your comments! Sorry, I accidentally squashed the fixup commits, but I tried to address all of your comments.

sbates130272
sbates130272 previously approved these changes Jul 30, 2026

@sbates130272 sbates130272 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@john00003 looks good! Let me run /run-ci. Do you have the updated scripts installed on your runner? Do we want a differnt unique trigger for this? /run-ci-fast perhaps?

Oh while we are at it can we rename the workflows to follow the AIC convention. AIC Hardware Test - <testname>.

- only use gfx950
- disable compiling some components of UCX and NIXL
Groups the SPUR-backed workflows under a common prefix so they are
identifiable in the Actions list. workflow_run triggers match on display
name, so the chained nightly references are updated in the same commit to
avoid breaking the chain.
Commit 3d69848 converted the only /run-ci workflow to the single-arch fast
variant, leaving no way to run the full multi-arch gate from a PR. Restore
it as its own workflow so /run-ci means the full build again.

The trigger must exclude /run-ci-fast explicitly: contains() is a substring
match, so a bare '/run-ci' check would also fire on a fast request and start
both workflows.
Frees /run-ci for the full gate and makes the fast single-arch run opt-in.
The display name is suffixed "(fast)" so the two workflows are
distinguishable in the Actions list and as workflow_run targets.
Both workflows previously posted the same 'hardware-ci / <stage>' contexts,
so a single-arch fast run would overwrite — and could satisfy — the full
multi-arch gate. Give the fast run its own '-fast' contexts and label its PR
comments accordingly, so a green check always names the variant that earned it.
Both workflows key their SPUR state solely on the commit SHA — image tag
rocm-aic-ci-<short>, tarball images/aic-ci-<short>, clone rocm-aic.<short>.
With a single workflow that collision was unreachable, but /run-ci and
/run-ci-fast on the same commit now race: the fast single-arch tarball could
be what the full smoke-test loads.

Both use the same group name so they queue. cancel-in-progress is false
because discarding an in-flight hardware run is expensive.

@sbates130272 sbates130272 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@john00003 looks great thanks!

@sbates130272

Copy link
Copy Markdown
Collaborator

/run-ci

@github-actions

Copy link
Copy Markdown

❌ Tiny-test failed for 5b00cf2. View logs.

@sbates130272
sbates130272 merged commit 78f00d4 into main Jul 31, 2026
9 of 10 checks passed
@sbates130272
sbates130272 deleted the feat/dist-build-fast branch July 31, 2026 00:43
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.

2 participants