-
Notifications
You must be signed in to change notification settings - Fork 20
Make it possible to manually trigger nightly
tests based on a branch
build
#377
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
Comments
Some other design ideas that came out of an offline discussion with @bdice
|
This might be fragile, as it introduces a weird race condition with PRs that might have been merged around the same time as nightly builds. It could be nice to have some way to use
I really just want this for branch builds, not nightlies. The primary need I have is a way to fix |
I'm confused. What would resolving this issue allow that we cannot already do by specifying a |
Yes, artifacts broke the previous functionality. They tie artifacts to a run ID, rather than a commit. |
OK got it so we've gone back to having the same problem that we used to as a result. That makes sense. |
Uh oh!
There was an error while loading. Please reload this page.
Description
On
branch-25.08
across RAPIDS, as of this writing if you try to do the following:test.yaml
workflow, settingRAPIDS_SHA
to the commit from that just-merged PRThe wrong CI artifacts will be downloaded, which means the tests will not actually be testing the intended state of the code, and might even outright fail.
It should be possible to do this.
Benefits of this work
Makes it possible to get a successful run of the nightly tests after merging relevant fixes, without having to wait for the next scheduled run.
Benefits of this:
Acceptance Criteria
test.yaml
) and have it use artifacts produced from a recentbranch
buildApproach
Let's start with what "wrong CI artifacts will be downloaded" means.
When RAPIDS CI workloads run, they need to find the relevant just-built-in-CI conda packages or wheels to download.
That's done via
rapids-github-run-id
(rapidsai/gha-tools/tools/rapids-github-run-id).It's important that this resolve to exactly 1 run ID, to uniquely identify a single artifact to download.
branch
andnightly
builds can be identical on most of the characteristics that GitHub CLI allows you to filter workflow runs by:build.yaml
)So today,
rapids-github-run-id
has logic like "build.yaml
runs triggered by apush
must bebranch
builds,build.yaml
runs triggered by aworkflow_dispatch
must benightly
build"That is fine under normal operation, by convention:
branch
builds are triggered bypush
when a PR is mergednightly
builds are triggered byworkflow_dispatch
triggered by a nightly scheduled job (rapidsai/workflows - nightly-pipeline-trigger.yaml)But in the scenario described in this issue, there is not a
workflow_dispatch
-triggeredbuild.yaml
run for that just-created commit SHA, which leads torapids-github-run-id
not find any runs!Until rapidsai/gha-tools#192 is fixed, that means that the latest artifacts produced from any successful
build.yaml
run on that branch will be used. After that is fixed, this will result in a loud "could not find a run ID" type of error.@ajschmidt8 and I talked about the fragility of relying on the event type for distinguishing between build types here: rapidsai/gha-tools#164 (comment)
I think the most reliable way to support this pattern is to do as @ajschmidt8 suggested there... make it possible to circumvent all of this by directly providing a run ID as an input when triggering
test.yaml
workflows.This could look something like this:
rapids-github-run-id
look for an env variable likeRAPIDS_GITHUB_RUN_ID
, and just return that if it's present and non-emptytest.yaml
workflows allowing users to specify that on callsNotes
N/A
The text was updated successfully, but these errors were encountered: