Skip to content

update ci.yml

update ci.yml #11

Workflow file for this run

name: wheels
on:
push:
branches: [ main ]
paths:
- "setup.py"
- ".github/workflows/ci.yml"
- "python/**"
- "seqio.c"
- "seqio.h"
jobs:
test-on-linux:
name: Build wheels on Linux for ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: [38, 39, 310, 311, 312, 313]
manylinux-image: [manylinux2014]
arch: [x86_64, aarch64]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up QEMU
if: ${{ matrix.arch == 'aarch64' }}
uses: docker/setup-qemu-action@v1
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine setuptools wheel
- name: Install cibuildwheel
run: python -m pip install cibuildwheel -U
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD: 'cp${{ matrix.python-version }}-*'
CIBW_SKIP: '*musllinux*'
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_MANYLINUX_*_IMAGE: ${{ matrix.manylinux-image }}
CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.manylinux-image }}
build-wheels-windows:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, macos-latest]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
if: matrix.os == 'windows-latest'
run: |
Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content
- name: Install xmake
if: matrix.os == 'macos-latest'
run: |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install xmake
- name: Build wheels
run: |
xmake f -m release
xmake p
pip wheel . -w wheelhouse