stupid paths #35
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
name: Build | |
on: | |
push: | |
pull_request: | |
jobs: | |
macos: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: 3.11 | |
architecture: x64 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2023-10-24 | |
profile: minimal | |
default: true | |
- name: Install protoc | |
run: brew install protobuf | |
- name: Build wheels - x86_64 | |
uses: messense/maturin-action@v1 | |
with: | |
target: x86_64 | |
args: --release --out dist | |
- name: Install built wheel - x86_64 | |
run: | | |
cd dist | |
pip install tikv_client --no-index --find-links . --force-reinstall | |
python -c "import tikv_client" | |
- name: Build wheels - universal2 | |
uses: messense/maturin-action@v1 | |
with: | |
target: universal2-apple-darwin | |
args: --release --out dist | |
- name: Install built wheel - universal2 | |
run: | | |
cd dist | |
pip install tikv_client --no-index --find-links . --force-reinstall | |
python -c "import tikv_client" | |
- name: Upload wheels | |
uses: actions/upload-artifact@v2 | |
with: | |
name: wheels | |
path: dist | |
windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
target: [x64, x86] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: 3.11 | |
architecture: ${{ matrix.target }} | |
- name: Add MSBuild to PATH | |
uses: microsoft/[email protected] | |
- name: Install LLVM | |
run: choco install -y llvm | |
- name: Install protoc | |
run: choco install -y protoc | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2023-10-24 | |
profile: minimal | |
default: true | |
- name: Build wheels | |
uses: messense/maturin-action@v1 | |
with: | |
target: ${{ matrix.target }} | |
args: --release --out dist | |
- name: Install built wheel | |
run: | | |
cd dist | |
pip install tikv_client --no-index --find-links . --force-reinstall | |
python -c "import tikv_client" | |
- name: Upload wheels | |
uses: actions/upload-artifact@v2 | |
with: | |
name: wheels | |
path: dist | |
linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: [x86_64] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: 3.11 | |
architecture: x64 | |
- name: Install protoc | |
run: | | |
sudo apt-get install -y protobuf-compiler | |
- name: Install IPC::Cmd | |
run: | | |
sudo cpan App::cpanminus | |
sudo cpanm IPC::Cmd | |
/usr/bin/perl -v | |
- name: Set environment variables | |
run: | | |
echo "::set-env name=PERL5LIB::/usr/share/perl/5.34" | |
echo "::set-env name=OPENSSL_SRC_PERL::/usr/bin/perl" | |
- name: Build Wheels | |
uses: messense/maturin-action@v1 | |
with: | |
rust-toolchain: nightly-2023-10-24 | |
target: ${{ matrix.target }} | |
manylinux: auto | |
args: --release --out dist | |
- name: Install built wheel | |
if: matrix.target == 'x86_64' | |
run: | | |
cd dist | |
pip install tikv_client --no-index --find-links . --force-reinstall | |
python -c "import tikv_client" | |
- name: Upload wheels | |
uses: actions/upload-artifact@v2 | |
with: | |
name: wheels | |
path: dist | |
# linux-cross: | |
# runs-on: ubuntu-latest | |
# strategy: | |
# matrix: | |
# target: [aarch64, armv7, s390x, ppc64le, ppc64] | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: actions/setup-python@v2 | |
# with: | |
# python-version: 3.11 | |
# - name: Build Wheels | |
# uses: messense/maturin-action@v1 | |
# with: | |
# rust-toolchain: nightly | |
# target: ${{ matrix.target }} | |
# manylinux: auto | |
# args: --release --out dist | |
# - uses: uraimo/[email protected] | |
# if: matrix.target != 'ppc64' | |
# name: Install built wheel | |
# with: | |
# arch: ${{ matrix.target }} | |
# distro: ubuntu18.04 | |
# githubToken: ${{ github.token }} | |
# # Mount the dist directory as /artifacts in the container | |
# dockerRunArgs: | | |
# --volume "${PWD}/dist:/artifacts" | |
# install: | | |
# apt-get update | |
# apt-get install -y --no-install-recommends python3 python3-pip | |
# pip3 install -U pip | |
# run: | | |
# ls -lrth /artifacts | |
# cd /artifacts | |
# pip3 install tikv_client --no-index --find-links . --force-reinstall | |
# python3 -c "import tikv_client" | |
# - name: Upload wheels | |
# uses: actions/upload-artifact@v2 | |
# with: | |
# name: wheels | |
# path: dist | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/')" | |
# needs: [ macos, windows, linux ] | |
needs: [macos, linux] | |
steps: | |
- uses: actions/download-artifact@v2 | |
with: | |
name: wheels | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: 3.11 | |
- name: Publish to PyPi | |
env: | |
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} | |
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} | |
run: | | |
pip install --upgrade twine | |
twine upload --skip-existing * |