add github-ci automation
This commit is contained in:
parent
9aa8b1d761
commit
17c7fa0a56
1 changed files with 127 additions and 0 deletions
127
.github/workflows/build.yml
vendored
Normal file
127
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
||||||
|
|
||||||
|
name: build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'release/**'
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- created
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
wheel:
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
# MacOS
|
||||||
|
- python: '3.6'
|
||||||
|
os: macos-latest
|
||||||
|
- python: '3.7'
|
||||||
|
os: macos-latest
|
||||||
|
- python: '3.8'
|
||||||
|
os: macos-latest
|
||||||
|
- python: '3.9'
|
||||||
|
os: macos-latest
|
||||||
|
# Windows
|
||||||
|
# - python: '3.6'
|
||||||
|
# os: windows-latest
|
||||||
|
#- python: '3.7'
|
||||||
|
# os: windows-latest
|
||||||
|
#- python: '3.8'
|
||||||
|
# os: windows-latest
|
||||||
|
#- python: '3.9'
|
||||||
|
# os: windows-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Cache .a files
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
key: ${{ runner.os }}
|
||||||
|
path: |
|
||||||
|
src/rocksdb/libsnappy.a
|
||||||
|
src/rocksdb/liblz4.a
|
||||||
|
src/rocksdb/libbz2.a
|
||||||
|
src/rocksdb/libzstd.a
|
||||||
|
src/rocksdb/libz.a
|
||||||
|
src/rocksdb/librocksdb.a
|
||||||
|
|
||||||
|
- name: Setup python${{ matrix.python }}
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: "${{ matrix.python }}"
|
||||||
|
|
||||||
|
- name: Make static library files
|
||||||
|
run: make
|
||||||
|
|
||||||
|
- name: Install requires
|
||||||
|
run: python -m pip install cython twine wheel
|
||||||
|
|
||||||
|
- name: Build wheel for python "${{ matrix.python }}"
|
||||||
|
run: python setup.py bdist_wheel
|
||||||
|
|
||||||
|
- name: Publishing to pypi
|
||||||
|
run: twine upload --skip-existing --disable-progress-bar dist/*.whl
|
||||||
|
env:
|
||||||
|
TWINE_USERNAME: __token__
|
||||||
|
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
||||||
|
|
||||||
|
|
||||||
|
linux-wheels:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Cache .a files
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
key: ${{ runner.os }}
|
||||||
|
path: |
|
||||||
|
src/rocksdb/libsnappy.a
|
||||||
|
src/rocksdb/liblz4.a
|
||||||
|
src/rocksdb/libbz2.a
|
||||||
|
src/rocksdb/libzstd.a
|
||||||
|
src/rocksdb/libz.a
|
||||||
|
src/rocksdb/librocksdb.a
|
||||||
|
|
||||||
|
- name: Make static library files
|
||||||
|
uses: docker://quay.io/pypa/manylinux2014_x86_64
|
||||||
|
with:
|
||||||
|
args: /usr/bin/make
|
||||||
|
|
||||||
|
- name: Install requires
|
||||||
|
run: python -m pip install cython twine wheel
|
||||||
|
|
||||||
|
- name: Building manylinux2014 wheels
|
||||||
|
uses: docker://quay.io/pypa/manylinux2014_x86_64
|
||||||
|
with:
|
||||||
|
args: /bin/bash scripts/make-wheels.sh
|
||||||
|
|
||||||
|
- name: Setup python${{ matrix.python }}
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: "3.9"
|
||||||
|
|
||||||
|
- name: Install requires
|
||||||
|
run: python -m pip install twine
|
||||||
|
|
||||||
|
- name: Publishing to pypi
|
||||||
|
run: twine upload --skip-existing --disable-progress-bar dist/*.whl
|
||||||
|
env:
|
||||||
|
TWINE_USERNAME: __token__
|
||||||
|
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
Loading…
Reference in a new issue