Skip to content

release

release #52

Workflow file for this run

name: release
on: workflow_dispatch
jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
target: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu]
include:
- target: x86_64-unknown-linux-gnu
openssl_lib_dir: /usr/lib/x86_64-linux-gnu
- target: aarch64-unknown-linux-gnu
openssl_lib_dir: /usr/lib/aarch64-linux-gnu
steps:
- uses: actions/checkout@v3
- name: Upgrade pip
run: python -m pip install --upgrade pip
- name: Install OpenSSL and other dependencies
run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config gcc-aarch64-linux-gnu g++-aarch64-linux-gnu musl-tools
- name: Set OpenSSL Environment Variables
run: |
echo "OPENSSL_DIR=/usr" >> $GITHUB_ENV
echo "OPENSSL_LIB_DIR=${{ matrix.openssl_lib_dir }}" >> $GITHUB_ENV
echo "OPENSSL_INCLUDE_DIR=/usr/include" >> $GITHUB_ENV
echo "PKG_CONFIG_PATH=${{ matrix.openssl_lib_dir }}/pkgconfig" >> $GITHUB_ENV
- name: Install maturin
run: pip install maturin
- name: Build wheels for ${{ matrix.target }}
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter --manylinux 2010
sccache: 'true'
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels-linux
path: dist/
# windows:
# runs-on: windows-latest
# steps:
# - uses: actions/checkout@v3
# - name: Install OpenSSL
# run: choco install openssl
# - name: Build and Prepare Wheels
# uses: messense/maturin-action@v1
# with:
# command: build
# args: --release -o dist --find-interpreter
# - name: List built wheels
# run: ls dist/
# - name: Upload wheels
# uses: actions/upload-artifact@v2
# with:
# name: wheels-windows
# path: dist
# macos:
# runs-on: macos-latest
# steps:
# - uses: actions/checkout@v3
# - name: Install OpenSSL
# run: brew install openssl
# - name: Build and Prepare Wheels
# uses: messense/maturin-action@v1
# with:
# command: build
# args: --release -o dist --universal2 --find-interpreter
# - name: List built wheels
# run: ls dist/
# - name: Upload wheels
# uses: actions/upload-artifact@v2
# with:
# name: wheels-macos
# path: dist
release:
name: Release
runs-on: ubuntu-latest
needs: [ linux]
steps:
- name: Download all wheels (Linux)
uses: actions/download-artifact@v2
with:
name: wheels-linux
- name: Download all wheels (Windows)
uses: actions/download-artifact@v2
with:
name: wheels-windows
- name: Download all wheels (macOS)
uses: actions/download-artifact@v2
with:
name: wheels-macos
- name: List all downloaded wheels
run: ls
- name: Publish to PyPI
uses: messense/maturin-action@v1
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
args: --skip-existing *