Skip to content

Build + Release Wheels #7

Build + Release Wheels

Build + Release Wheels #7

Workflow file for this run

name: Build + Release Wheels
on:
push:
tags:
- 'v?[0-9]+.[0-9]+.[0-9]+'
- 'v?[0-9]+.[0-9]+.[0-9]+.[0-9]+'
workflow_dispatch:
inputs:
llvm_version:
description: "LLVM version to build"
required: false
default: ""
wheel_version:
description: "Version of the wheel packaging (appended to LLVM version)"
required: false
default: "0"
deploy_to_testpypi:
description: "Whether the build should be deployed to test.pypi.org instead of regular PyPI"
required: true
default: false
jobs:
# build-wheels:
# name: "Build wheels on ${{ matrix.os }} :: platform=${{ matrix.platform }} arch=${{ matrix.arch }}"
# runs-on: ${{ matrix.os }}
#
# strategy:
# matrix:
# include:
# # Linux
# - os: ubuntu-latest
# platform: "manylinux"
# arch: "x86_64"
# - os: ubuntu-latest
# platform: "musllinux"
# arch: "x86_64"
# - os: ubuntu-latest
# platform: "manylinux"
# arch: "i686"
# - os: ubuntu-latest
# platform: "musllinux"
# arch: "i686"
# # Windows
# - os: windows-latest
# platform: "win"
# arch: "AMD64"
# - os: windows-latest
# platform: "win"
# arch: "x86"
# # macOS
# - os: macos-13
# platform: "macos"
# arch: "x86_64"
# - os: macos-latest
# platform: "macos"
# arch: "arm64"
#
# steps:
# - uses: actions/checkout@v4
#
# - name: Support long paths
# if: runner.os == 'Windows'
# run: git config --system core.longpaths true
#
# - name: Set up msvc on Windows
# if: runner.os == 'Windows'
# uses: ilammy/msvc-dev-cmd@v1
# with:
# arch: ${{ matrix.arch }}
#
# - name: Export macOS SDKROOT
# if: runner.os == 'macOS'
# run: echo SDKROOT=$(xcrun --sdk macosx --show-sdk-path) >> $GITHUB_ENV
#
# - name: Override LLVM version (${{ github.event.inputs.llvm_version }})
# if: github.event.inputs.llvm_version
# run: |
# echo "${{ github.event.inputs.llvm_version }}.${{ github.event.inputs.wheel_version }}" > clang-tidy_version.txt
# cat clang-tidy_version.txt
#
# - name: Build wheels
# uses: pypa/[email protected]
# env:
# CIBW_ARCHS: "${{ matrix.arch }}"
# CIBW_BEFORE_TEST: rm -rf {package}/clang_tidy
# CIBW_TEST_SKIP: "*linux*"
# # always skip PyPY builds + what's defined in the matrix
# CIBW_SKIP: "pp* ${{matrix.skip}}"
# # restrict to a single Python version as wheel does not depend on Python:
# CIBW_BUILD: "cp311-${{ matrix.platform }}*"
#
# - uses: actions/upload-artifact@v4
# with:
# name: artifacts-wheels-${{ matrix.platform }}-${{ matrix.arch }}
# path: ./wheelhouse/*.whl
build-sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Override LLVM version (${{ github.event.inputs.llvm_version }})
if: github.event.inputs.llvm_version
run: |
echo "${{ github.event.inputs.llvm_version }}.${{ github.event.inputs.wheel_version }}" > clang-tidy_version.txt
cat clang-tidy_version.txt
- name: Build SDist
run: pipx run build --sdist
- uses: actions/upload-artifact@v4
with:
path: dist/*.tar.gz
name: archive_sdist
test-sdist:
name: Test build from source distribution
needs: [build-sdist]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.13'
- uses: actions/download-artifact@v4
with:
name: archive_sdist
path: sdist
- name: Install from SDist
run: |
rm -r clang_tidy
pip install sdist/*.tar.gz
- name: Install test requirements
run:
python -m pip install -r requirements-dev.txt
- name: Run test suite
run:
python -m pytest
upload_pypi:
name: Upload to PyPI
needs: [build-wheels, build-sdist, test-sdist]

Check failure on line 151 in .github/workflows/release.yml

View workflow run for this annotation

GitHub Actions / Build + Release Wheels

Invalid workflow file

The workflow is not valid. .github/workflows/release.yml (Line: 151, Col: 13): Job 'upload_pypi' depends on unknown job 'build-wheels'.

Check failure on line 151 in .github/workflows/release.yml

View workflow run for this annotation

GitHub Actions / Build + Release Wheels

Invalid workflow file

The workflow is not valid. .github/workflows/release.yml (Line: 151, Col: 13): Job 'upload_pypi' depends on unknown job 'build-wheels'.
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
# if: github.repository_owner == 'ssciwr'
steps:
- uses: actions/download-artifact@v4
with:
pattern: artifacts-*
merge-multiple: true
path: dist
- name: Upload to PyPI
uses: pypa/[email protected]
if: (startsWith(github.event.ref, 'refs/tags/')) || (github.event.inputs.deploy_to_testpypi == 'false')
- name: Upload to TestPyPI
uses: pypa/[email protected]
if: github.event.inputs.deploy_to_testpypi == 'true'
with:
repository-url: https://test.pypi.org/legacy/
- name: GitHub release for tagged commits
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')