Fix #394 - convert old Debian to Meson/Ninja

This commit is contained in:
Anton Kochkov 2021-01-20 13:55:33 +08:00 committed by Riccardo Schirone
parent ed8988fce0
commit 1ce3f53fb5

View file

@ -314,14 +314,24 @@ jobs:
- name: Install tools
run: apt-get update && apt-get install --yes patch unzip git gcc make curl pkg-config libc6-i386 build-essential
- name: Install Python source build dependcies
run: apt-get install --yes checkinstall libbz2-dev libc6-dev libgdbm-dev libncursesw5-dev libreadline-gplv2-dev libssl-dev libsqlite3-dev tk-dev
run: apt-get install --yes checkinstall libbz2-dev libc6-dev libgdbm-dev libncursesw5-dev libreadline-gplv2-dev libssl-dev libsqlite3-dev libffi-dev tk-dev
- name: Install Python from source
run: |
curl -o Python-3.6.11.tgz https://www.python.org/ftp/python/3.6.11/Python-3.6.11.tgz
tar -zxvf Python-3.6.11.tgz
cd Python-3.6.11/
curl -o Python-${PYVERSION}.tgz https://www.python.org/ftp/python/${PYVERSION}/Python-${PYVERSION}.tgz
tar -zxvf Python-${PYVERSION}.tgz
cd Python-${PYVERSION}/
./configure
make install
env:
PYVERSION: 3.6.12
- name: Install Meson and Ninja
run: |
mkdir ${HOME}/.cache
chmod +w ${HOME}/.cache
python3 -m pip install ${TRUSTED} --upgrade pip setuptools
python3 -m pip install ${TRUSTED} meson ninja PyYAML
env:
TRUSTED: --trusted-host=pypi.org --trusted-host=files.pythonhosted.org
- name: Checkout rizin
run: |
git clone https://github.com/${{ github.repository }}
@ -330,25 +340,31 @@ jobs:
git checkout -b local_branch FETCH_HEAD
git submodule init
git submodule update
- name: Fetch capstone manually
if: matrix.container == 'debian:wheezy'
run: git clone -b v4 https://github.com/rizinorg/capstone shlr/capstone
working-directory: rizin
- name: Checkout our Testsuite Binaries
run: git clone https://github.com/rizinorg/rizin-testbins test/bins
- name: Configure with ACR and build
run: ./configure --prefix=/usr && make
working-directory: rizin
- name: Install with make
run: make install
- name: Build with Meson + Ninja
run: meson --prefix=/usr build && ninja -C build
working-directory: rizin
- name: Install with Ninja
run: ninja -C build install
working-directory: rizin
- name: Run unit tests
run: cd test && make unit_tests
run: ninja -C build test
working-directory: rizin
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
- name: Install test dependencies
run: python3 -m pip install --user 'git+https://github.com/rizinorg/rz-pipe#egg=rz-pipe&subdirectory=python'
- name: Run tests
# FIXME: debug tests fail on debian for now, let's ignore all tests for the moment
run: cd test && make || exit 0
working-directory: rizin
# FIXME: debug tests fail on Debian for now, let's ignore all tests for the moment
run: |
rz-test -L -o results.json || true
working-directory: rizin/test
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig