Skip to content

Conversation

@LoserCheems
Copy link
Collaborator

Introduce a comprehensive CI/CD pipeline with workflows for building wheels across multiple Python and CUDA configurations, and automate publishing to PyPI. Update project metadata URLs to reflect the correct organization name.

Introduces comprehensive CI/CD pipeline with three workflow files: - Reusable build template supporting multiple Python versions, CUDA configurations, and PyTorch versions - Manual build workflow for on-demand wheel generation with configurable parameters - Automated publish workflow that triggers on version tags to create releases and deploy to PyPI Supports cross-platform builds (x86_64 and ARM), handles C++11 ABI variants, includes build caching for efficiency, and manages both stable and development PyTorch versions with proper CUDA compatibility matrix handling.
Copilot AI review requested due to automatic review settings September 8, 2025 06:12
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces a comprehensive CI/CD pipeline for automated wheel building and publishing, along with correcting GitHub repository URLs to reflect the proper organization name.

  • Adds GitHub Actions workflows for building wheels across multiple Python, CUDA, and PyTorch configurations
  • Implements automated PyPI publishing for tagged releases
  • Updates project metadata URLs from "SmallDoge" to "SmallDoges" organization

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
pyproject.toml Updates GitHub URLs to correct organization name
.github/workflows/publish.yml Main workflow for creating releases and publishing to PyPI
.github/workflows/build.yml Manual workflow dispatcher for building wheels
.github/workflows/_build.yml Reusable workflow template for wheel building process

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

steps:
- name: Get the tag version
id: extract_branch
run: echo ::set-output name=branch::${GITHUB_REF#refs/tags/}
Copy link

Copilot AI Sep 8, 2025

Choose a reason for hiding this comment

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

The ::set-output command is deprecated. Use echo "branch=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT instead.

Suggested change
run: echo ::set-output name=branch::${GITHUB_REF#refs/tags/}
run: echo "branch=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
Copilot uses AI. Check for mistakes.
Comment on lines +28 to +33
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.extract_branch.outputs.branch }}
release_name: ${{ steps.extract_branch.outputs.branch }}
Copy link

Copilot AI Sep 8, 2025

Choose a reason for hiding this comment

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

The actions/create-release@v1 action is deprecated. Consider using softprops/action-gh-release or the newer GitHub CLI approach for creating releases.

Suggested change
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.extract_branch.outputs.branch }}
release_name: ${{ steps.extract_branch.outputs.branch }}
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ steps.extract_branch.outputs.branch }}
name: ${{ steps.extract_branch.outputs.branch }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Copilot uses AI. Check for mistakes.
Comment on lines +216 to +225
id: upload_release_asset
if: inputs.upload-to-release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_current_release.outputs.upload_url }}
asset_path: ./dist/${{env.wheel_name}}
asset_name: ${{env.wheel_name}}
asset_content_type: application/*
Copy link

Copilot AI Sep 8, 2025

Choose a reason for hiding this comment

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

The actions/upload-release-asset@v1 action is deprecated. Consider using softprops/action-gh-release which can handle both release creation and asset uploading.

Suggested change
id: upload_release_asset
if: inputs.upload-to-release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_current_release.outputs.upload_url }}
asset_path: ./dist/${{env.wheel_name}}
asset_name: ${{env.wheel_name}}
asset_content_type: application/*
if: inputs.upload-to-release
uses: softprops/action-gh-release@v1
with:
files: ./dist/${{env.wheel_name}}
tag_name: ${{ inputs.release-version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

9 participants