Quansight / open-gpu-server

The Open GPU Server for CI purpose.
8 stars 12 forks source link

BUG: Runners build from .ci_support in main branch even when triggered in pull request #32

Closed carterbox closed 1 month ago

carterbox commented 1 month ago

In https://github.com/conda-forge/libmagma-feedstock/pull/18, I have opened a pull request to update the package to the latest version and drop builds for CUDA 11.2. However, the runners building this pull request start a job for CUDA 11.2 anyways; these jobs exit with an error because the config file for the CUDA 11.2 build is missing from .ci_support due to the fact that they have been removed in the pull request branch.

Starting jobs which will always fail will, in theory, prevent automerge tasks from completing successfully.

carterbox commented 1 month ago

If I add an explicit skip to the recipe for CUDA 11.2 and rerender the job is removed, so this probably just means 11.2 hasn't been removed yet from the template on conda-smithy.

jaimergp commented 1 month ago

I do see the matrix entries in https://github.com/conda-forge/libmagma-feedstock/pull/18/files#diff-2c0e39bc014e056be855742e3ff5cc61ce0e4be5b6e1f4399af608b6aa22d8df being removed, so not sure what's going on. Maybe cirun is triggering jobs from the matrix in main? Pinging @aktech

jaimergp commented 1 month ago

Hm, are you sure it wasn't just a missing rerender?

carterbox commented 1 month ago

I'm not able to reproduce the issue, so you're probably right about missing rerender or using old conda-smithy version.

jakirkham commented 1 month ago

Not sure how we are checking out PRs currently, but the usual way to do this is to checkout the merge ref, which is a GitHub generated merge commit between the PR branch and the base branch the PR is targeting. The other one to check is the head ref, which is the latest commit on the PR. So if we assigned these to local branches called pr_head_commit and pr_merge_commit, this would look like...

git fetch <base remote> pull/<pr#>/head:pr_head_commit
git fetch <base remote> pull/<pr#>/merge:pr_merge_commit

Here is some relevant code from the conda-forge linter doing the same thing. Note sometimes the merge ref doesn't exist (like there is a conflict), which the conda-forge linter will raise

jaimergp commented 1 month ago

We are using the official action, nothing fancy. I would assume it does The Right Thing without further complication, I think?