Skip to content
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

CI Use shared tool to upload nightly build wheels #28560

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

lamdang2k
Copy link
Contributor

Reference Issues/PRs

Closes #24312

What does this implement/fix? Explain your changes.

Use scientific-python shared tool to upload nightly build wheels

Any other comments?

To be tested

Copy link

github-actions bot commented Mar 1, 2024

✔️ Linting Passed

All linting checks passed. Your pull request is in excellent shape! ☀️

Generated for commit: 216e392. Link to the linter CI: here

Copy link
Member

@ogrisel ogrisel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR. See the question and comment below:

uses: scientific-python/upload-nightly-action@b67d7fcc0396e1128a474d1ab2b48aa94680f9fc # 0.5.0
with:
artifacts_path: dist/artifact
anaconda_nightly_upload_token: ${{ secrets.SCIKIT_LEARN_NIGHTLY_UPLOAD_TOKEN }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This GitHub action only uploads scikit-learn nightly builds to the scientific-python-nightly-wheels channel.

However our existing build_tools/github/upload_anaconda.sh script also handles the staging of wheels generated from a stable release branch as part of our release automation workflow for pypi uploads.

Is there a way to configure the github action to also handle staging to a project specific channel?

Otherwise we would need a condition to either use our existing (simplified) script for staging and the shared github action for nightly builds.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw that the script also handles wheels staging, that's why I did not remove it from the workflow. I will work on staging github action

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's why I did not remove it from the workflow.

I don't understand this sentence: this PR (#28560) deletes the line 248 so the script build_tools/github/upload_anaconda.sh is no longer called for build staging, right?

We cannot merge the PR as is. Otherwise the release process is no longer automated.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am working on the build staging part, in the incoming commits this script can be deleted. Perhaps I convert this PR to draft to avoid any confusion.

ARTIFACTS_PATH: dist/artifact
# Force a replacement if the remote file already exists
run: bash build_tools/github/upload_anaconda.sh
uses: scientific-python/upload-nightly-action@b67d7fcc0396e1128a474d1ab2b48aa94680f9fc # 0.5.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the use of a hash + version number comment an artifact of the use of dependabot to avoid having silent tag renaming not being reflected in our version control?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not an artifact of dependabot usage.

  • Here the hash, i.e., full length commit SHA signifies a secure way to use action provided by scientific-python. #0.5.0 is the current release of upload-nightly-action. This hash is manually updated for each release, for example by this PR. More information about the full commit length commit SHA can be found here.
  • Dependabot is used to automatically update non-default actions for a specified interval, here is weekly. More details about this tool can be found here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the clarification. Maybe we could enable dependabot for github actions in a dedicated PR. I have no experience with using dependabot for that purpose I would appreciate what other maintainers about this change.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay I will let the dependabot change for another PR

@lamdang2k lamdang2k requested a review from ogrisel March 6, 2024 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Coordinate with other scientific python projects to use shared tools and policy to upload nightly build wheels
3 participants