Merge pull request #287 from taosdata/feat/TD-33208-MAIN #325
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: Test on Ubuntu-22.04 | |
on: | |
push: | |
branches: | |
- 'main' | |
pull_request: | |
branches: | |
- 'main' | |
jobs: | |
test: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Build tools | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install -y build-essential cmake libgeos-dev | |
- name: Setup Python | |
run: | | |
sudo apt-get install -y python3 python3-pip python-is-python3 | |
- name: Build TDengine 2.x | |
run: | | |
git clone --depth 1 https://github.com/taosdata/TDengine.git -b 2.6 TDengine_v2 | |
cd TDengine_v2 | |
git submodule update --depth 1 --init --recursive | |
mkdir build | |
cd build | |
cmake ../ -DBUILD_HTTP=false -DBUILD_JDBC=false -DBUILD_DEPENDENCY_TESTS=false -DCMAKE_INSTALL_PREFIX:PATH=`realpath ../../local/` | |
make -j14 | |
cd ../../ | |
- name: Start TDengine 2.x | |
run: | | |
tree TDengine_v2/build/build/ | |
sudo mkdir -p /etc/taos/ || true | |
export C_INCLUDE_PATH=$PWD/TDengine_v2/build/build/bin | |
export LD_LIBRARY_PATH=$PWD/TDengine_v2/build/build/lib | |
mkdir -p /tmp/taos/v2/data /tmp/taos/log/v2 | |
printf "dataDir /tmp/taos/v2/data\nlogDir /tmp/taos/v2/log\ndebugFlag 135\n" |sudo tee /etc/taos/taos.cfg | |
./TDengine_v2/build/build/bin/taosadapter & | |
./TDengine_v2/build/build/bin/taosd & | |
- name: Cache Poetry | |
id: cache-poetry | |
uses: actions/[email protected] | |
with: | |
path: ~/.poetry | |
key: ubuntu-22.04-poetry | |
#---------------------------------------------- | |
# ----- install & configure poetry ----- | |
#---------------------------------------------- | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
#---------------------------------------------- | |
# load cached venv if cache exists | |
#---------------------------------------------- | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} | |
#---------------------------------------------- | |
# install dependencies if cache does not exist | |
#---------------------------------------------- | |
- name: Install dependencies | |
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
run: poetry install --no-interaction --no-root | |
#---------------------------------------------- | |
# install your root project, if required | |
#---------------------------------------------- | |
- name: Install library | |
run: poetry install --no-interaction | |
- name: Test 2.x | |
run: | | |
export LD_LIBRARY_PATH=$PWD/TDengine_v2/build/build/lib | |
#source $VENV | |
export TDENGINE_URL=localhost:6041 | |
poetry run pip install psutil "numpy<2.0.0" pandas pytest-cov | |
poetry run pytest tests --cov-report term --cov-report html --cov-report xml --cov=taos --cov=taosrest tests | |
- name: 'Upload taosd logs' | |
if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: taosd-log-v2 | |
path: /tmp/taos/v2/log/ | |
retention-days: 1 | |
- name: Stop TDengine 2.x and clean data | |
run: | | |
kill -9 $(pidof taosd) | |
kill -9 $(pidof taosadapter) | |
rm -rf /tmp/taos/* || true | |
rm -rf /var/log/taos/* || true | |
- name: Determine TDengine branch | |
uses: haya14busa/action-cond@v1 | |
id: determine-branch | |
with: | |
cond: ${{ github.base_ref == 'main' }} | |
if_true: 'main' | |
if_false: '3.0' | |
- name: Checkout tdengine | |
uses: actions/checkout@v2 | |
with: | |
repository: "taosdata/TDengine" | |
path: "TDengine_v3" | |
ref: ${{ steps.determine-branch.outputs.value }} | |
- name: Build TDengine 3.0 | |
run: | | |
cd TDengine_v3 | |
mkdir build | |
cd build | |
cmake ../ -DBUILD_JDBC=false -DCMAKE_INSTALL_PREFIX:PATH=`realpath ../../local/` -DBUILD_HTTP=false -DBUILD_DEPENDENCY_TESTS=false | |
make -j4 | |
sudo make install | |
ls -alh /etc/taos/ | |
cd ../../ | |
- name: Start TDengine 3.0 | |
run: | | |
tree TDengine_v3/build/build/ | |
export C_INCLUDE_PATH=$PWD/TDengine_v3/build/build/bin | |
export LD_LIBRARY_PATH=$PWD/TDengine_v3/build/build/lib | |
mkdir -p /tmp/taos/v3/log /tmp/taos/v3/data | |
printf "dataDir /tmp/taos/v3/data\nlogDir /tmp/taos/v3/log\ndebugFlag 135\n" |sudo tee /etc/taos/taos.cfg | |
TAOS_SUPPORT_VNODES=256 ./TDengine_v3/build/build/bin/taosd & | |
./TDengine_v3/build/build/bin/taosadapter & | |
#---------------------------------------------- | |
# run test suite | |
#---------------------------------------------- | |
- name: Test 3.0 | |
run: | | |
export LD_LIBRARY_PATH=$PWD/TDengine_v3/build/build/lib | |
#source $VENV | |
export TDENGINE_URL=localhost:6041 | |
curl -L -H "Authorization: Basic cm9vdDp0YW9zZGF0YQ==" -d "show databases" localhost:6041/rest/sql | |
poetry run pip install psutil "numpy<2.0.0" pandas pytest-cov | |
poetry run pytest --cov-report term --cov-report html --cov-report xml --cov=taos --cov=taosrest --cov-append tests | |
- name: 'Upload taosd logs' | |
if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: log-v3-taosd | |
path: /tmp/taos/v3/log/ | |
retention-days: 1 | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
files: coverage.xml | |
fail_ci_if_error: false | |
- name: Build Artifacts | |
run: | | |
poetry build |