Build Release and Publish #230
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Release and Publish | |
on: | |
workflow_dispatch: | |
schedule: | |
# Runs at 11:00 AM UTC, which is 3:00 AM PST (UTC-8) | |
- cron: '0 11 * * *' | |
# Ensure that only a single job or workflow using the same | |
# concurrency group will run at a time. This would cancel | |
# any in-progress jobs in the same github workflow and github | |
# ref (e.g. refs/heads/main or refs/pull/<pr_number>/merge). | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build_linux: | |
name: Linux x86_64 Build | |
runs-on: ubuntu-latest | |
# Elevates permissions for `GITHUB_TOKEN`'s content scope (to allow this action to make a release) | |
permissions: | |
contents: write | |
# Don't run this in everyone's forks. | |
if: github.repository == 'llvm/torch-mlir-release' | |
strategy: | |
matrix: | |
package: [torch-mlir] | |
py_version: [cp310-cp310, cp311-cp311] | |
steps: | |
- name: Checkout torch-mlir | |
uses: actions/checkout@v4 | |
with: | |
repository: llvm/torch-mlir | |
ref: refs/heads/main | |
submodules: 'true' | |
- name: Setup workspace | |
uses: ./.github/actions/setup-build | |
- name: Build Python wheels and smoke test | |
run: | | |
cd $GITHUB_WORKSPACE | |
tm_package_version="$(printf '%(%Y%m%d)T.${{ github.run_number }}')" | |
echo "tm_package_version=${tm_package_version}" >> $GITHUB_ENV | |
printf "TORCH_MLIR_PYTHON_PACKAGE_VERSION=%s\n" ${tm_package_version} > ./torch_mlir_package_version | |
TM_PYTHON_VERSIONS=${{ matrix.py_version }} TM_PACKAGES=${{ matrix.package }} ./build_tools/python_deploy/build_linux_packages.sh | |
- name: Make assets available in dist | |
run: | | |
mkdir dist | |
cp build_tools/python_deploy/wheelhouse/torch*.whl dist/ | |
- name: Upload python wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: snapshot-${{ matrix.package }}-${{ matrix.py_version }}-${{ env.tm_package_version }} | |
path: dist | |
- name: Release python wheels | |
uses: ncipollo/release-action@v1.14.0 | |
with: | |
artifacts: dist/*.whl | |
token: "${{ secrets.GITHUB_TOKEN }}" | |
tag: "dev-wheels" | |
name: "dev-wheels" | |
body: "Automatic snapshot release of torch-mlir python wheels." | |
removeArtifacts: false | |
allowUpdates: true | |
replacesArtifacts: true | |
makeLatest: true |