summaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml68
1 files changed, 68 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9e164619c..1e93113a6 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -344,12 +344,79 @@ jobs:
- name: Run make test_recursive for rust
run: make -C lib/rs/test_recursive check
+ lib-python:
+ needs: compiler
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ python-version: ["2.x", "3.x"]
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Install dependencies
+ run: |
+ sudo apt-get update -yq
+ sudo apt-get install -y --no-install-recommends $BUILD_DEPS
+ sudo apt-get install -y --no-install-recommends curl openssl ca-certificates
+
+ - name: Set up Python
+ uses: actions/setup-python@v3
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Python setup
+ run: |
+ python -m pip install --upgrade pip setuptools wheel flake8 tornado twisted zope.interface
+ python --version
+ pip --version
+
+ - name: Python 2.x backport setup
+ if: matrix.python-version == '2.x'
+ run: |
+ python -m pip install --upgrade ipaddress backports.ssl_match_hostname
+
+ - name: Run bootstrap
+ run: ./bootstrap.sh
+
+ - name: Run configure 2.x
+ if: matrix.python-version == '2.x'
+ run: |
+ ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-python/with-python/')
+
+ - name: Run configure 3.x
+ if: matrix.python-version != '2.x'
+ run: |
+ ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-py3/with-py3/')
+
+ - uses: actions/download-artifact@v3
+ with:
+ name: thrift-compiler
+ path: compiler/cpp
+
+ - name: Run thrift-compiler
+ run: |
+ chmod a+x compiler/cpp/thrift
+ compiler/cpp/thrift -version
+
+ - name: Run make for python
+ run: make -C lib/py
+
+ - name: Run make install for python
+ run: sudo make -C lib/py install
+
+ # - name: Run make install-exec-hook for python
+ # run: sudo make -C lib/py install-exec-hook
+
+ - name: Run make check for python
+ run: make -C lib/py check
+
cross-test:
needs:
- lib-java-kotlin
- lib-swift
- lib-rust
- lib-go
+ - lib-python
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
@@ -428,3 +495,4 @@ jobs:
name: cross-test-log
path: test/log/
retention-days: 3
+