Skip to content

ensure nightly builds always produce new packages - #1661

Merged
rapids-bot[bot] merged 9 commits into
NVIDIA:mainfrom
jameslamb:nightly-versions
Aug 7, 2026
Merged

ensure nightly builds always produce new packages#1661
rapids-bot[bot] merged 9 commits into
NVIDIA:mainfrom
jameslamb:nightly-versions

Conversation

@jameslamb

@jameslamb jameslamb commented Aug 4, 2026

Copy link
Copy Markdown
Member

Contributes to rapidsai/build-planning#218

For wheels:

# before
26.10.0a55 

# after
26.10.0a55.post260803200854

And for conda:

# before
26.10.0a55[build=cuda12_260803_9da146ef]

# after
26.10.0a55[build=cuda12_260803200854_9da146ef]

Notes for Reviewers

How I tested this

See rapidsai/cugraph-gnn#508

@jameslamb jameslamb added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Aug 4, 2026
@copy-pr-bot

copy-pr-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@jameslamb jameslamb changed the title ensure nightly builds always produce new packages WIP: ensure nightly builds always produce new packages Aug 4, 2026
@jameslamb

Copy link
Copy Markdown
Member Author

/ok to test

Comment thread .github/workflows/build.yaml Outdated
@jameslamb

Copy link
Copy Markdown
Member Author

/ok to test

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

CI Test Summary

✅ All 31 test job(s) passed.

@jameslamb jameslamb changed the title WIP: ensure nightly builds always produce new packages ensure nightly builds always produce new packages Aug 6, 2026
@jameslamb
jameslamb marked this pull request as ready for review August 6, 2026 18:28
@jameslamb
jameslamb requested a review from a team as a code owner August 6, 2026 18:28
@jameslamb
jameslamb requested a review from msarahan August 6, 2026 18:28
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 7238e482-59ce-4c8f-b685-1305dfc75b8c

📥 Commits

Reviewing files that changed from the base of the PR and between a919638 and e5b1aa9.

📒 Files selected for processing (1)
  • python/cuopt_server/cuopt_server/utils/job_queue.py

📝 Walkthrough

Walkthrough

The workflows now generate one build-datetime value and pass it to C++, Python, wheel, and Conda builds. Build scripts and Conda recipes use datetime-based identifiers. Client version checking accepts additional version segments.

Changes

Build timestamp propagation

Layer / File(s) Summary
Workflow timestamp orchestration
.github/workflows/build.yaml, .github/workflows/pr.yaml
Both workflows run build-details, pass its build-datetime output to build jobs, and update job dependencies.
Datetime-based build inputs
ci/build_cpp.sh, ci/build_python.sh, ci/build_wheel.sh
Build scripts source rapids-datetime-string. Wheel versions include a .post datetime suffix.
Conda build string updates
conda/recipes/*/recipe.yaml
Recipes use RAPIDS_DATETIME_STRING, datetime_string, and datetime-based package build strings.

Job queue version parsing

Layer / File(s) Summary
Version component parsing
python/cuopt_server/cuopt_server/utils/job_queue.py
check_client_version accepts version strings with more than three dot-separated components.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: tmckayus

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: ensuring nightly builds produce new packages.
Description check ✅ Passed The description directly explains the nightly versioning changes and how they ensure new wheel and conda packages are uploaded.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@jameslamb
jameslamb removed the request for review from msarahan August 7, 2026 02:33
@jameslamb
jameslamb requested a review from a team as a code owner August 7, 2026 14:36
@jameslamb
jameslamb requested a review from tmckayus August 7, 2026 14:36
logging.debug(f"client_vers is {client_vers} in check")
if os.environ.get("CUOPT_CHECK_CLIENT", True) in ["True", True]:
major, minor, _ = __version__.split(".")
major, minor, *_ = __version__.split(".")

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

cuopt server tests were failing like this:

  File "/pyenv/versions/3.12.13/lib/python3.12/site-packages/cuopt_server/utils/job_queue.py", line 54, in check_client_version
    major, minor, _ = __version__.split(".")
    ^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 3)

(build link)

This PR now adds a 4th component to nightly versions (e.g. 26.10.0a14.post260807023309).

Since this code only cares about the first 2 components (major and minor), just throwing away the others with * seems defensible.

I looked for other patterns like this in the codebase and didn't see any.

@ramakrishnap-nv
ramakrishnap-nv self-requested a review August 7, 2026 14:43
@jameslamb

Copy link
Copy Markdown
Member Author

/merge

@rapids-bot
rapids-bot Bot merged commit dbaf523 into NVIDIA:main Aug 7, 2026
93 checks passed
@jameslamb
jameslamb deleted the nightly-versions branch August 7, 2026 16:15
ramakrishnap-nv added a commit that referenced this pull request Aug 7, 2026
One conflict in the conda recipe: main renamed date_string to
datetime_string (#1661) in the same block where this branch replaced the
prefix_detection entry for libcuopt.so with the component libraries. Both
changes kept.

Build clean, ctest 125/125, check_symbols passes on all four components.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants