rapidsai / rapidsai/dask-upstream-testing
How do we test fixes?
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 2
- Forks
- 7
- Avg merge
- 2m
- Merged PRs (30d)
- 1
Description
Suppose there's some upstream change that requires an update to the downstream libraries to fix (we'll pick dask-cudf for the example). How do we ensure that the fix actually fixes the issue (and doesn't introduce any new ones)?
The PR to rapidsai/cudf will test in an environment against a released version of Dask and the PR, which will ensure we don't have a regression but doesn't test against dask main. So that's good, but doesn't actually test the fix.
I'd lightly suggest a workflow like:
- We identify an issue through nightly testing
- We fix the issue in the downstream library
- The developer working on the fix can manually / temporarily install
dask @ mainto verify it works as they develop the fix - The developer makes a PR to the downstream library with the fix. This triggers a wheel build / upload to http://downloads.rapids.ai/ci/ (behind the NVIDIA VPN).
- The developer triggers a workflow here, and indicates that
- Just the specific downstream tests should run
- That downstream library (and its dependencies?) should be installed from http://downloads.rapids.ai/ci/{project}/pull-request/{PR}/{sha}
That manual workflow run will use an environment with Dask main and the PR's commit.
This will require some adjustments to the workfow here. cron.yaml includes a workflow_dispatch trigger so it can run manually. We'll need to
- add an input to control which version of downstream libraries to install (one per library?). This will default to
nightly, the current behavior - update our install logic to be able to download and install artifacts from that
downloads.rapids.ai. That's not a package index, and the artifacts are gzipped wheels.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with cron.yaml and its workflow_dispatch trigger, then trace the current install logic for nightly downstream libraries. Implement inputs for selecting downstream versions and support installing gzipped wheels from the specified downloads.rapids.ai pull-request path; done means manual runs can target downstream tests while defaulting to nightly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, shell
- Domain
- ci-cd, devops, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100