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