another attempt at cibuildwheels for py3.8 on macos-14 #52
Workflow file for this run
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: 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 }} |