Skip to content

feat(ci): add nightly build workflow for S3 + DockerHub publishing - #54

Merged
sajmera-pensando merged 3 commits into
ROCm:mainfrom
sangli-pensando:feature/nightly-build-workflow
Sep 10, 2026
Merged

sajmera-pensando merged 3 commits into
ROCm:mainfrom
sangli-pensando:feature/nightly-build-workflow

Conversation

@sangli-pensando

@sangli-pensando sangli-pensando commented Sep 10, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Adds a nightly build pipeline for KMM that builds all 4 container images, publishes to S3 and DockerHub, and runs validation. Uses shared reusable workflows from ROCm/common-infra-operator — no local publish or summary workflows needed.

Workflow Architecture

nightly-build.yml (orchestrator)
  init                    — reads VERSION from Makefile
  nightly-resolve.yml     — date-based tagging, dedup, commit log (shared)
  build-images.yml        — all 4 container images
  rocm-publish.yml        — S3 upload + DockerHub push (shared)
  rocm-orchestrator.yml   — validation (shared)
  nightly-summary.yml     — stage results + commit history (shared)

All shared workflows from ROCm/common-infra-operator, SHA-pinned to 71da675.

Artifacts Published (nightly)

Artifact S3 DockerHub
kernel-module-management-operator *.tar.gz amdpsdo/kernel-module-management-operator:{VER}-{DATE}
kernel-module-management-signimage *.tar.gz amdpsdo/kernel-module-management-signimage:{VER}-{DATE}
kernel-module-management-webhook-server *.tar.gz amdpsdo/kernel-module-management-webhook-server:{VER}-{DATE}
kernel-module-management-worker *.tar.gz amdpsdo/kernel-module-management-worker:{VER}-{DATE}

S3 path: s3://THEROCK_BUCKET_NAME/kernel-module-management/nightly/{YYYYMMDD}/

Schedule

Daily at 1:00 PM UTC (6:00 AM PDT) + manual workflow_dispatch.

Validation Results (PR)

All stages passed on PR:

  • Init: pass (5s)
  • Resolve (shared nightly-resolve.yml): pass (5s)
  • Build Images: pass (4m16s)
  • Publish: skipped (PR event, no secrets)
  • Validate: skipped (depends on publish)
  • Summary (shared nightly-summary.yml): pass

Local Validation

Build script tested locally — all 4 images built successfully:

  • kernel-module-management-operator.tar.gz (33MB)
  • kernel-module-management-signimage.tar.gz (3.4MB)
  • kernel-module-management-webhook-server.tar.gz (31MB)
  • kernel-module-management-worker.tar.gz (27MB)

Files Changed

New files:

  • .github/workflows/nightly-build.yml — orchestrator
  • .github/workflows/build-images.yml — reusable image build
  • .github/scripts/build-images.sh — build script

Does NOT touch existing workflows (ci.yml, weekly-build.yml).

Test plan

  • Build script validated locally — all 4 images built
  • PR triggers workflow — all build stages pass
  • Post-merge: trigger via workflow_dispatch and verify full pipeline
  • Verify artifacts appear in S3 under kernel-module-management/nightly/{DATE}/
  • Verify images pushed to docker.io/amdpsdo/ with correct tags

Adds a nightly pipeline that builds all 4 KMM container images
(operator, signimage, webhook-server, worker), publishes to S3 and
DockerHub (amdpsdo/), and runs validation via the common-infra-operator
orchestrator.

Uses shared reusable workflows from ROCm/common-infra-operator:
- nightly-resolve.yml for date-based tagging and dedup
- rocm-publish.yml for S3 upload and DockerHub push
- nightly-summary.yml for build summary with commit history
- rocm-orchestrator.yml for validation

All common-infra-operator refs SHA-pinned to 71da675.
Build script validated locally — all 4 images built successfully.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sangli-pensando and others added 2 commits September 10, 2026 01:39
Adds pull_request trigger (path-filtered to workflow files) so the
nightly build can be validated on the PR before merging. Publish is
skipped on PR events since fork PRs lack access to repo secrets.
Remove the PR trigger before merging.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All stages passed on PR run — remove the temporary pull_request
trigger and PR-event skip condition on publish.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sajmera-pensando
sajmera-pensando merged commit 9d9bbb5 into ROCm:main Sep 10, 2026
5 checks passed
@sangli-pensando
sangli-pensando deleted the feature/nightly-build-workflow branch September 10, 2026 05:44
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