rapidsai / rapidsai/dask-upstream-testing

How do we test fixes?

Open
#19 0 comments 1 reaction 0 assignees View on GitHub

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:

  1. We identify an issue through nightly testing
  2. We fix the issue in the downstream library
  • The developer working on the fix can manually / temporarily install dask @ main to 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).
  1. The developer triggers a workflow here, and indicates that

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.