CI: auto-trigger AITER prebuilt upload when 3rdparty/aiter updates on dev#543
CI: auto-trigger AITER prebuilt upload when 3rdparty/aiter updates on dev#543VeeraRajasekhar wants to merge 5 commits intodevfrom
Conversation
da019d7 to
5240d8d
Compare
|
What happens if e.g. an aiter prebuilt cache entry was already created from a branch before it gets merged into |
There was a problem hiding this comment.
Pushing to dev is too late. Binaries are expected to be cached when PR is created, otherwise the PR CI will have to rebuild them
There was a problem hiding this comment.
I initially started with an idea to provide a PR comment trigger which does this. Do you think it is better? In this case I might need to provide a way to force-push if the user needs to trigger multiple times while working on the PR.
There was a problem hiding this comment.
I wonder if it can be driven by CI labels + filter by specific path modification. I.e. on the first CI run after aiter commit update, it first builds and uploads AITER and then goes further with CI.
There was a problem hiding this comment.
On that note, can we have an upload as a side effect during the build-and-test workflow? That would provide a relatively simple way to implement this.
Specifically, we can do this more-or-less as-is by using the following filtering for a prebuilt cache upload:
on:
pull_request:
paths:
- '3rdparty/aiter'
- '3rdpart/aiter/***'
Not sure which one exactly is needed since aiter is a submodule but one should work. Still, I'd be more interested in conditionally checking whether the AITER submodule was built from source, and then uploading if it was in the build-and-test flow.
It will cancel It won't force push or anything. |
rocm-ci-dispatch.yml
rocm-ci.yml
aiter-prebuilt-upload.yml
|
|
Big rocm-ci refactor is in progress #528, let's postpone this PR till refactoring one is merged |
ipanfilo
left a comment
There was a problem hiding this comment.
Put the PR on hold not to interfere with other WIP
| type: boolean | ||
| default: false | ||
| trigger_aiter_upload: | ||
| description: 'Advanced; PR path uses rocm-ci-dispatch. Default false.' |
There was a problem hiding this comment.
workflow_dispatch is not PR triggered action. Also no need to specify default in description
|
rebasing with the latest changes to rocm-ci file. |
a4fd1df to
2a63432
Compare
109e32e to
52be5b1
Compare
|
Rather than adding a label to skip the pre-built upload, can we instead have it be opt-in so that we don't burn extra resources on intermediate changes and iteration? |
I will be removing this “skip prebuilt upload” label. The original idea was to handle cases where Artifactory was unreachable from the runner, but that’s no longer the main control: we now have preflight checks that test whether the AITER prebuilt Artifactory is reachable from the current runner. If it isn’t, we skip the upload and still run CI. So we don’t need a separate skip label for that anymore. As for keeping an Aiter-Upload label, doing this would force an awkward ordering (“only add ci-level-* after upload succeeds”) and extra process overhead. It would also waste effort when people set test labels first and we build but never publish. Current behavior |
Description
This adds CI to build and upload AITER prebuilts to AMD Artifactory when the AITER submodule pointer or contents under
3rdparty/aiterchange ondev, so prebuilts stay aligned with the submodule without relying only on manual runs.Fixes # (issue)
Type of change
Changes
Please list the changes introduced in this PR:
.github/workflows/aiter-prebuilt-upload.yml:pushtodevwithpaths: 3rdparty/aiter.Checklist: