Remove Python index generation(manage.py) from CI as it is moved over to S3-triggered Lambda#4900
Remove Python index generation(manage.py) from CI as it is moved over to S3-triggered Lambda#4900araravik-psd wants to merge 3 commits intomainfrom
Conversation
HereThereBeDragons
left a comment
There was a problem hiding this comment.
you might want to update the readmes in
- build_tools/third_party/s3_management/README.md
- build_tools/packaging/how_to_do_release.md
| run: | | ||
| pip install boto3 packaging | ||
| python ./build_tools/third_party/s3_management/manage.py ${CUSTOM_PREFIX} | ||
| --recursive --exclude "*" --include "*torch*${{ inputs.rocm_version }}*${{ env.cp_version }}*" No newline at end of file |
There was a problem hiding this comment.
new line missing?
There was a problem hiding this comment.
Running the pre-commit script seems to be removing the new line at the end of the file
| - name: (Re-)Generate Python package release index for staging | ||
| if: ${{ github.repository_owner == 'ROCm' }} | ||
| env: | ||
| # Environment variables to be set for `manage.py` | ||
| CUSTOM_PREFIX: "${{ inputs.s3_staging_subdir }}/${{ inputs.amdgpu_family }}" | ||
| run: | | ||
| python ./build_tools/third_party/s3_management/manage.py ${{ env.CUSTOM_PREFIX }} |
There was a problem hiding this comment.
We recently hit a CI failure where the index wasn't yet up to date (as we queue requests before generating server side). Eventually we should add a small sleep 45s or so here. @ScottTodd wdyt?
There was a problem hiding this comment.
I'd rather not introduce a fixed artificial delay in workflows. Consider a few options and their tradeoffs:
- In build jobs: upload packages in a build job then wait
- Test jobs can trust the package index to already exist
- Test jobs can't start running/queuing until that wait completes
- In test jobs: attempt to install, retry/wait if failed or index does not yet exist
- Each test jobs needs to know that the index might not yet exist
- Test jobs can start running/queuing immediately
| run: | | ||
| pip install boto3 packaging | ||
| python ./build_tools/third_party/s3_management/manage.py ${CUSTOM_PREFIX} | ||
| --recursive --exclude "*" --include "*torch*${{ inputs.rocm_version }}*${{ env.cp_version }}*" No newline at end of file |
| - name: (Re-)Generate Python package release index for staging | ||
| if: ${{ github.repository_owner == 'ROCm' }} | ||
| env: | ||
| # Environment variable to be set for `manage.py` | ||
| CUSTOM_PREFIX: "${{ env.S3_STAGING_SUBDIR }}/${{ matrix.target_bundle.amdgpu_family }}" | ||
| run: | | ||
| pip install boto3 packaging | ||
| python ./build_tools/third_party/s3_management/manage.py ${{ env.CUSTOM_PREFIX }} |
|
@araravik-psd Please rebase to mitigate the conflicts and fix the pre-commit errors. This shouldn't sit so long. |
3603f3b to
4188d02
Compare
Removes manual index regeneration from CI workflows and shifts it to an S3 event-driven Lambda that invokes manage.py on object create/delete.
Key Changes:
Eliminates duplicate index generation across workflows
Avoids race conditions on shared prefixes
Removes CI dependency setup (boto3, packaging)
Centralizes and simplifies index updates
Scope
Covers both staging and release prefixes. Presently deployed in dev, nightly and prereleases for python buckets.
References
Resolves: #3321
Manage.py Refactor PR: #3737