Skip to content

another attempt at cibuildwheels for py3.8 on macos-14 #52

another attempt at cibuildwheels for py3.8 on macos-14

another attempt at cibuildwheels for py3.8 on macos-14 #52

Workflow file for this run

name: Publish Python package
on:
push:
tags:
- "v*.*.*"
jobs:
test_package:
uses: ./.github/workflows/test_package.yml
build_wheels:
needs: test_package
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
timeout-minutes: 500
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.x"
# Install Homebrew and dependencies, and setup Python 3.8 for macOS arm64
- name: Setup Python 3.8 universal2 on macOS arm64
if: matrix.os == 'macos-latest' && runner.arch == 'ARM64'
run: |
if [[ $(uname -m) == 'arm64' ]]; then
# Install Homebrew in /usr/local for x86_64
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> /Users/runner/.bash_profile
eval "$(/usr/local/bin/brew shellenv)"
# Install gettext and link it
brew install gettext
brew link --force gettext
# Install Python 3.8 in x86_64 mode
arch -x86_64 brew install [email protected]
arch -x86_64 /usr/local/opt/[email protected]/bin/python3.8 -m pip install --upgrade pip
fi
- name: Install build deps
run: |
python -m pip install --upgrade pip
python -m pip install "poetry<=1.7" cibuildwheel==2.18.1 setuptools
python -m pip install lark appdirs pybind11 build
- name: Set endf-parserpy version based on tag
run: poetry version $(git describe --tags --abbrev=0)
- name: Build wheels
env:
INSTALL_ENDF_PARSERPY_CPP: yes
CIBW_SKIP: cp27-* cp34-* cp35-* cp36-* cp37-*
run: python -m cibuildwheel --output-dir wheelhouse
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl
make_sdist:
name: Make source distribution package
needs: test_package
runs-on: ubuntu-latest
timeout-minutes: 100
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install build deps
run: |
python -m pip install --upgrade pip
python -m pip install "poetry<=1.7" setuptools lark appdirs pybind11 build
- name: Set endf-parserpy version based on tag
run: poetry version $(git describe --tags --abbrev=0)
- name: Build SDist
env:
INSTALL_ENDF_PARSERPY_CPP: no
run: python -m build sdist
- uses: actions/upload-artifact@v4
with:
name: cibw-sdist
path: dist/*.tar.gz
upload_all:
needs: [build_wheels, make_sdist]
environment: pypi
permissions:
id-token: write
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
- uses: actions/download-artifact@v4
with:
pattern: cibw-*
path: dist
merge-multiple: true
- uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}