Skip to content

trying to restrict to specified manylinux image #6

trying to restrict to specified manylinux image

trying to restrict to specified manylinux image #6

Workflow file for this run

name: build and upload wheels
on:
push:
branches:
- feature/python-wheels
jobs:
build_wheels:
# name: build wheels on ${{matrix.os}} ${{matrix.arch}}
name: build wheels on ${{matrix.build-platform[0]}} ${{matrix.build-platform[1]}}
# runs-on: ${{matrix.os}}
runs-on: ${{matrix.build-platform[0]}}
strategy:
fail-fast: false
matrix:
build-platform:
# - [ubuntu-latest, x86_64, manylinux2014_x86_64]
# - [ubuntu-latest, aarch64, manylinux2014_aarch64]
- [ubuntu-latest,x86_64,manylinux_2_28_x86_64]
- [ubuntu-latest,aarch64,manylinux_2_28_aarch64]
# python:
# ["cp36", "cp37", "cp38", "cp39", "cp310", "cp311"]
# include:
# - os: ubuntu-latest
# arch: x86_64
# - os: ubuntu-latest
# arch: aarch64
# - os: macOS-latest
# arch: x86_64
# - os: macOS-latest
# arch: arm64
# - os: windows-latest
# arch: x86_64
# - os: windows-latest
# arch: AMD64
# - os: windows-latest
# arch: ARM64
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v3
with:
platforms: x86_64 arm64
- name: Build manylinux2014 wheels
if: startswith(matrix.build-platform[2], 'manylinux2014')
uses: pypa/cibuildwheel@v2.17.0
env:
BIBW_ARCHS: ${{matrix.build-platform[1]}}
BIBW_BUILD: cp*-${{matrix.build-platform[2]}}
BIBW_SKIP: cp12-*
CIBW_BEFORE_ALL: >
yum update -y
yum install -y wget openssl-devel libxml2-devel libtirpc-devel
cd /tmp
wget https://github.com/fmtlib/fmt/archive/refs/tags/10.0.0.tar.gz
tar xzf 10.0.0.tar.gz
cd fmt-10.0.0
cmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON
cmake --build build -j --config Release --target install
d /tmp
wget https://github.com/gabime/spdlog/archive/refs/tags/v1.11.0.tar.gz
tar xzf v1.11.0.tar.gz
cd spdlog-1.11.0
cmake -Bbuild -H. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON
cmake --build build -j --config Release --target install
cd /tmp
wget https://github.com/capnproto/capnproto/archive/refs/tags/v0.10.4.tar.gz
tar xzf v0.10.4.tar.gz
cd capnproto-0.10.4
cmake -Bbuild -H. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON
cmake --build build
cmake --install build
cd /tmp
wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
tar xzf boost_1_80_0.tar.gz
cd boost_1_80_0
./bootstrap.sh --prefix=/usr/local
./b2 --without-python --prefix=/usr/local install
cd /project
cmake -B build -DBUILD_SHARED_LIBS=ON -DSSLAUTHENTICATION=OFF -DENABLE_CAPNP=ON -DCLIENT_ONLY=ON
cmake --build build -j --config Release --target install
CIBW_BEFORE_BUILD: pip install cython six numpy
- name: Build manylinux_2_28 wheels
if: startswith(matrix.build-platform[2], 'manylinux_2_28')
uses: pypa/cibuildwheel@v2.17.0
env:
BIBW_ARCHS: ${{matrix.build-platform[1]}}
BIBW_BUILD: cp*-${{matrix.build-platform[2]}}
BIBW_SKIP: cp12-* *-manylinux2014*
CIBW_BEFORE_ALL: >
dnf update -y
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install -y boost-devel openssl-devel libxml2-devel libtirpc-devel
dnf install -y fmt fmt-devel spdlog spdlog-devel capnproto capnproto-devel
cd /project
cmake -B build -DBUILD_SHARED_LIBS=ON -DSSLAUTHENTICATION=OFF -DENABLE_CAPNP=ON -DCLIENT_ONLY=ON
cmake --build build -j --config Release --target install
cp -r /usr/local/python_installer/* /project
ls /project
CIBW_BEFORE_BUILD: pip install cython six numpy
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl
upload_pypi:
needs: build_wheels
runs-on: ubuntu-latest
environment: testpypi
permissions:
id-token: write
# if: github.event_name == 'release' && github.event.action == 'published'
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/download-artifact@v4
with:
# unpacks all CIBW artifacts into dist/
pattern: cibw-*
path: dist
merge-multiple: true
- uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/projects/ukaea-pyuda/