Skip to content

Merge pull request #347 from network-intelligence/dev #3

Merge pull request #347 from network-intelligence/dev

Merge pull request #347 from network-intelligence/dev #3

Workflow file for this run

name: Mercury wheels Build and Publish to PyPI
on:
workflow_dispatch:
push:
branches:
- main
jobs:
build-mercury-wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment:
name: pypi
url: https://pypi.org/p/mercury-python
permissions:
id-token: write
strategy:
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
detch-depth: 1
- name: Install packages
run: sudo apt-get update && sudo apt-get install -y zlib1g-dev libssl-dev make
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Set up QEMU
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v3
with:
platforms: all
- name: Install pip packages
run: python -m pip install cython cibuildwheel==2.20.0
- name: Build Mercury
run: ./configure && make && cp -r src/cython/* ./
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_ARCHS_LINUX: x86_64 aarch64
CIBW_ENVIRONMENT: CC='g++' CXX='g++' MERCURY_DIR='./'
CIBW_SKIP: "*-musllinux_* pp*"
CIBW_BEFORE_ALL: yum install -y openssl-devel make zlib-devel || apt-get install -y zlib1g-dev libssl-dev make || apk add zlib1g-dev libssl-dev make
CIBW_TEST_COMMAND: cd {project} && python mercury_python_test.py
- name: Upload to S3
env:
AWS_ACCESS_KEY_ID: ${{secrets.ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.ACCESS_KEY_SECRET}}
AWS_DEFAULT_REGION: us-east-1
S3_BUCKET: ${{secrets.S3_BUCKET}}
run: VERSION=$(cat src/cython/_version.py | tr -d '\n' | cut -d \' -f2) && aws s3 cp wheelhouse/ "s3://$S3_BUCKET/version=$VERSION" --recursive