Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

simplify building and testing configs #69

Closed

Conversation

jameslamb
Copy link
Member

@jameslamb jameslamb commented Dec 31, 2024

Development and the vision for this project has stabilized here quite a bit over the last few weeks, so I think it's a good time to simplify things.

This proposes the following:

  • removing configuration for codecov
    • (there are no tests running here)
  • removing patterns in CODEOWNERS that don't match any files
  • removing anything related to CUDA 11, pyproject.toml, or requirements.txt in dependencies.yaml and related files
    • this repo exclusively uses conda, and only a single major version of CUDA
  • updating to sphinx>=8 and breathe>=4.35
  • removing unnecessary files in ci/utils
    • these appear to have been copied from cugraph, but they're not needed as we don't do notebook testing here

Notes for Reviewers

How I tested this

Tested the update-version.sh changes like this:

./ci/release/update-version.sh '25.04.00'

git grep -E '25\.2'
git grep -E '25\.02'

@jameslamb jameslamb added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Dec 31, 2024
"pylibcugraphops=${RAPIDS_VERSION}.*" \
"pylibwholegraph=${RAPIDS_VERSION}.*" \
pytorch \
"cuda-version=${RAPIDS_CUDA_VERSION%.*}"
Copy link
Member Author

Choose a reason for hiding this comment

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

In addition to just being simpler, consolidating into a single conda env create like this has some benefits for correctness and test coverage. See rapidsai/build-planning#22.


intersphinx_mapping = {
"python": ("https://docs.python.org/", None),
}
Copy link
Member Author

Choose a reason for hiding this comment

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

In newer versions of sphinx (not sure of the exact range), intersphinx_mapping is expected to be a dictionary keyed by project name. (intersphinx docs)

This wasn't causing build errors when this project was pinned to sphinx<6, but now is.

ERROR: Invalid value `None` in intersphinx_mapping['https://docs.python.org/']. Expected a two-element tuple or list.

Configuration error:
Invalid `intersphinx_mapping` configuration (1 error).

(build link)

Most other RAPIDS projects use the form I've adopted in the diff here. For example: https://github.com/rapidsai/raft/blob/eef9a4fa9a39d4349ed699b097a3e3ff6c78cbc4/docs/source/conf.py#L188-L192

@jameslamb jameslamb changed the title WIP: simplify building and testing configs simplify building and testing configs Dec 31, 2024
@jameslamb jameslamb marked this pull request as ready for review December 31, 2024 20:53
@jameslamb jameslamb requested review from a team as code owners December 31, 2024 20:53
Copy link
Contributor

@acostadon acostadon left a comment

Choose a reason for hiding this comment

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

I totally forgot about this...I better look at the rest of the repo.

Copy link

@bdice bdice left a comment

Choose a reason for hiding this comment

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

One question about alpha specs, otherwise LGTM.

packages:
- pylibcugraphops-cu11==25.2.*
- {matrix: null, packages: [*pylibcugraphops_conda]}
- cugraph==25.2.*
Copy link

Choose a reason for hiding this comment

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

We typically put alpha specs on all these versions, with ,>=0.0.0a0. Any reason not to do the same here? (It isn't strictly required for conda, only for pip, but it shouldn't hurt and would help clarify that these are pre-releases.)

Copy link
Member Author

Choose a reason for hiding this comment

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

I'd left them off because this repo is only using conda... but you're right, for consistency with other repos and for clarity, I think it's good to have them.

I pushed a commit adding them + the pre-commit hook to enforce them around and hour ago, but it's not getting picked up by GitHub.

image

Worth noting that this repo just flipped from private to public today... maybe my fork being private when this PR was opened caused it to get stuck in some weird state GitHub can't understand.

If it doesn't get updated in the next hour, I'll try deleting and re-forking, then opening a replacement PR with the same commits.

Copy link
Member Author

Choose a reason for hiding this comment

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

@raydouglass and I talked about this offline... yes, switching the repo from private to public put this PR from my fork into a weird state.

I'll probably have to recreate my fork and create a new PR. Leaving this up a little longer so we can investigate how this situation affects tools like ops-bot.

Copy link
Member Author

Choose a reason for hiding this comment

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

Alright yeah, I'll need to recreate this from a new fork. Closing this PR.

Copy link
Member Author

Choose a reason for hiding this comment

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

I've opened #71 to replace this PR

@jameslamb
Copy link
Member Author

/merge

@jameslamb jameslamb closed this Jan 7, 2025
rapids-bot bot pushed a commit that referenced this pull request Jan 7, 2025
**This is exactly the same set of changes already approved in #69.**

`cugraph-docs` was switched from private to public during the lifetime of that PR, which put CI into a state where that PR couldn't be merged: #69 (comment)

---

Development and the vision for this project has stabilized here quite a bit over the last few weeks, so I think it's a good time to simplify things.

This proposes the following:

* removing configuration for codecov
  - *(there are no tests running here)*
* removing patterns in CODEOWNERS that don't match any files
* removing anything related to CUDA 11, pyproject.toml, or requirements.txt in `dependencies.yaml` and related files
  - *this repo exclusively uses conda, and only a single major version of CUDA*
* updating to `sphinx>=8` and `breathe>=4.35`
  - *to match the rest of RAPIDS, e.g. rapidsai/cugraph#4839, rapidsai/cuvs#528
  - *floors also mean faster conda solves and fewer surprises at build time*
* removing unnecessary files in `ci/utils`
  - *these appear to have been copied from `cugraph`, but they're not needed as we don't do notebook testing here*

## Notes for Reviewers

### How I tested this

Tested the `update-version.sh` changes like this:

```shell
./ci/release/update-version.sh '25.04.00'

git grep -E '25\.2'
git grep -E '25\.02'
```

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Don Acosta (https://github.com/acostadon)
  - Ray Douglass (https://github.com/raydouglass)
  - Bradley Dice (https://github.com/bdice)

URL: #71
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.

3 participants