feat: support send_multiple_msg and add msg builder #31
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
# This file is autogenerated by maturin v1.4.0 | |
# To update, run | |
# | |
# maturin generate-ci github | |
# | |
name: pyrsolace-ci | |
on: | |
push: | |
branches: | |
- main | |
- master | |
tags: | |
- "*" | |
pull_request: | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: [x86_64] #aarch64 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Install LLVM and Clang | |
uses: KyleMayes/install-llvm-action@v2 | |
with: | |
version: "10.0" | |
- name: Install maturin | |
run: | | |
pip install maturin | |
- name: Build wheels | |
run: | | |
cd pyrsolace | |
maturin build --release --out dist --find-interpreter | |
# uses: PyO3/maturin-action@v1 | |
# with: | |
# working-directory: pyrsolace | |
# target: ${{ matrix.target }} | |
# args: --release --out dist --find-interpreter | |
# sccache: "true" | |
# manylinux: auto | |
# docker-options: -e LIBCLANG_PATH=/opt/rh/llvm-toolset-7/root/usr/lib64/ -e LIBCLANG_STATIC_PATH=/opt/rh/llvm-toolset-7/root/usr/lib64/ -e CLANG_PATH=/opt/rh/llvm-toolset-7/root/usr/bin/clang | |
# before-script-linux: | | |
# # If we're running on rhel centos, install needed packages. | |
# if command -v yum &> /dev/null; then | |
# yum update -y && yum install -y perl-core perl-IPC-Cmd openssl openssl-devel pkgconfig libatomic centos-release-scl llvm-toolset-7 && echo 'source scl_source enable llvm-toolset-7' >> ~/.bashrc | |
# # If we're running on i686 we need to symlink libatomic | |
# # in order to build openssl with -latomic flag. | |
# if [[ ! -d "/usr/lib64" ]]; then | |
# ln -s /usr/lib/libatomic.so.1 /usr/lib/libatomic.so | |
# fi | |
# else | |
# # If we're running on debian-based system. | |
# apt update -y && apt-get install -y perl libssl-dev openssl pkg-config libclang-dev gcc-multilib | |
# fi | |
- name: Upload wheels | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wheels | |
path: pyrsolace/dist | |
linux-arm: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: [aarch64] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- uses: uraimo/[email protected] | |
with: | |
arch: ${{ matrix.target }} | |
distro: ubuntu20.04 | |
githubToken: ${{ github.token }} | |
install: | | |
apt-get update | |
apt-get install -y libclang-dev build-essential python3 python3-pip curl | |
curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain stable -y | |
echo 'source $HOME/.cargo/env' >> $HOME/.bashrc | |
pip install maturin | |
run: | | |
source $HOME/.cargo/env | |
cd pyrsolace | |
maturin build --release --out dist --find-interpreter | |
- name: Upload wheels | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wheels | |
path: pyrsolace/dist | |
windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
target: [x64, x86] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
architecture: ${{ matrix.target }} | |
- name: Set up Clang | |
uses: egor-tensin/setup-clang@v1 | |
with: | |
version: latest | |
platform: ${{ matrix.target }} | |
- uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: ${{ matrix.target }} | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
working-directory: pyrsolace | |
target: ${{ matrix.target }} | |
args: --release --out dist --find-interpreter | |
sccache: "true" | |
- name: Upload wheels | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wheels | |
path: pyrsolace/dist | |
macos: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
target: [x86_64, aarch64] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
working-directory: pyrsolace | |
target: ${{ matrix.target }} | |
args: --release --out dist --find-interpreter | |
sccache: "true" | |
- name: Upload wheels | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wheels | |
path: pyrsolace/dist | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/')" | |
needs: [linux, windows, macos, linux-arm] | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: wheels | |
- name: Publish to PyPI | |
uses: PyO3/maturin-action@v1 | |
env: | |
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }} | |
with: | |
command: upload | |
args: --non-interactive --skip-existing * |