Repository navigation
feat: Adding Artifact reuse and stage skip functionality to multi-arch CI #6264
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
Changes from all commits
1928e80
1097ec2
b0d8f67
7bd631c
58b0a1d
9b7a0e1
fc21126
0648dcc
78fef0c
886eafc
ce75e62
76397f3
c6fb127
fe28af9
4259e85
da6adb4
6851c06
397e824
e7086a2
d7c3c09
cb85bc7
07f7f7f
b1f3c37
0673a91
5dc07b4
1c19f0b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
|
|
@@ -43,6 +43,23 @@ on: | |||
| description: "Workflow run ID to copy prebuilt stage artifacts from." | ||||
| type: string | ||||
| default: "" | ||||
| stage_reuse_mode: | ||||
| description: >- | ||||
| Automatic stage-reuse mode (separate from the manual prebuilt_stages | ||||
| input): "dry-run" (default) only reports which unaffected stages could | ||||
| be reused; "reuse-stage" actually reuses them. | ||||
| type: string | ||||
| default: "dry-run" | ||||
| stage_reuse_max_age_hours: | ||||
| description: >- | ||||
| Automatic stage reuse: reject baseline runs older than this many hours. default: "72" | ||||
| type: string | ||||
| default: "72" | ||||
| stage_reuse_commit_history: | ||||
| description: >- | ||||
| Automatic stage reuse: number of recent branch commits to fetch for ancestry. default: "50" | ||||
| type: string | ||||
| default: "50" | ||||
| build_pytorch: | ||||
| description: "Build PyTorch wheels." | ||||
| type: boolean | ||||
|
|
@@ -159,6 +176,10 @@ jobs: | |||
| WINDOWS_TEST_LABELS: ${{ inputs.windows_test_labels }} | ||||
| PREBUILT_STAGES: ${{ inputs.prebuilt_stages }} | ||||
| BASELINE_RUN_ID: ${{ inputs.baseline_run_id }} | ||||
| STAGE_REUSE_MODE: ${{ inputs.stage_reuse_mode }} | ||||
| STAGE_REUSE_CURRENT_SHA: ${{ steps.checkout.outputs.commit }} | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. you can actaully get this from ${{ github.sha }} (current sha)
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It depends on what commit ref you want.
For runs in rocm-libraries and rocm-systems, we may want to use baseline runs from those repositories instead of TheRock though. Ultimately I think the best artifact reuse we'll be able to get will be some query against a database where we say "here are the artifact fingerprints that my current source code produces, fetch me artifacts for any with matching fingerprints from the database", which we'd want to abstract away from the github actions runs API entirely. We wouldn't need to scan commit history or workflow runs with that architecture. |
||||
| STAGE_REUSE_MAX_AGE_HOURS: ${{ inputs.stage_reuse_max_age_hours }} | ||||
| STAGE_REUSE_COMMIT_HISTORY: ${{ inputs.stage_reuse_commit_history }} | ||||
| # Skip path filtering for external repos (git sha won't exist in TheRock) | ||||
| SKIP_PATH_FILTERS: ${{ inputs.external_repo != '' && 'true' || '' }} | ||||
| CI_CONFIG_PATH: ci-config | ||||
|
|
||||
Uh oh!
There was an error while loading. Please reload this page.