merge main to 3.0 #1469
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
# This is a basic workflow to help you get started with Actions | |
name: Ubuntu (3.x non-x64 build) | |
# Controls when the workflow will run | |
on: | |
schedule: | |
- cron: "10 16 * * *" | |
# Triggers the workflow on push or pull request events but only for the develop branch | |
push: | |
branches: | |
- develop | |
- 3.0 | |
- main | |
pull_request: | |
branches: | |
- develop | |
- 3.0 | |
- main | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
env: | |
TOOLS_BUILD_TYPE: Debug | |
PR_NUMBER: ${{ github.event.number }} | |
jobs: | |
build_job: | |
runs-on: ubuntu-20.04 | |
name: Build on ${{ matrix.distro }} ${{ matrix.arch }} | |
# Run steps on a matrix of 3 arch/distro combinations | |
strategy: | |
matrix: | |
include: | |
- arch: aarch64 | |
distro: ubuntu20.04 | |
# - arch: armv7 | |
# distro: ubuntu20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: uraimo/[email protected] | |
name: Run setup | |
id: setup | |
with: | |
arch: ${{ matrix.arch }} | |
distro: ${{ matrix.distro }} | |
ref: 'develop' | |
path: 'taos-tools' | |
# Set an output parameter `uname` for use in subsequent steps | |
run: | | |
uname -a | |
echo ::set-output name=uname::$(uname -a) | |
- name: Step that prints name of pull request's base branch | |
run: | | |
echo "The uname output was ${{ steps.setup.outputs.uname }}" | |
echo "Pull request's base branch is: ${BASE_BRANCH}" | |
echo "Pull request's branch is: ${GITHUB_REF##*/}" | |
echo "Pull request's head ref is: ${GITHUB_HEAD_REF}" | |
env: | |
BASE_BRANCH: ${{ github.base_ref }} | |
if: github.event_name == 'pull_request' | |
|| github.event_name == 'schedule' | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit. | |
submodules: false | |
- name: Get changed files | |
id: changed-files | |
uses: tj-actions/[email protected] | |
- name: List all changed files | |
run: | | |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do | |
echo "$file was changed" | |
done | |
- name: Get specific changed files | |
id: changed-files-specific | |
uses: tj-actions/[email protected] | |
with: | |
files: | | |
src/* | |
inc/* | |
deps/CMakeLists.txt | |
packaging/tools/* | |
.github/workflows/3.0-non-x64.yml | |
- name: Run step if any of the listed files above change | |
if: steps.changed-files-specific.outputs.any_changed == 'true' | |
run: | | |
echo "One or more files listed above has changed." | |
- name: Change time zone | |
if: steps.changed-files-specific.outputs.any_changed == 'true' | |
run: | | |
echo "The uname output was ${{ steps.setup.outputs.uname }}" | |
sudo timedatectl set-timezone Asia/Shanghai | |
sudo date | |
# - name: Build TDengine and taos-tools on armv7 | |
# if: | | |
# (steps.changed-files-specific.outputs.any_changed == 'true' | |
# && github.event_name == 'pull_request') | |
# || github.event_name == 'push' | |
# uses: uraimo/[email protected] | |
# with: | |
# arch: armv7 | |
# distro: ubuntu20.04 | |
# run: | | |
# echo "The uname output was ${{ steps.setup.outputs.uname }}" | |
# apt update -y > /dev/null | |
# apt install git cmake build-essential libjansson-dev libsnappy-dev liblzma-dev libz-dev zlib1g pkg-config -y > /dev/null | |
# cd TDengine | |
# mkdir armv7-debug ||: | |
# cd armv7-debug | |
# cmake .. -DBUILD_TOOLS=true > /dev/null | |
# make > /dev/null && make install > /dev/null | |
# if [[ ! -f /usr/local/taos/bin/taosd ]] || [[ ! -f /usr/local/taos/bin/taosdump ]] || [[ ! -f /usr/local/taos/bin/taosBenchmark ]] | |
# then | |
# echo "TDengine build failure" | |
# exit 1 | |
# fi | |
- name: Build TDengine 3.0 and taos-tools and run test on aarch64 | |
if: | | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
uses: uraimo/[email protected] | |
with: | |
arch: aarch64 | |
distro: ubuntu20.04 | |
run: | | |
echo "Install packages on ${{ steps.setup.outputs.uname }}" | |
apt update -y > /dev/null | |
apt install -y cmake build-essential git libjansson-dev libsnappy-dev liblzma-dev libz-dev zlib1g pkg-config libssl-dev > /dev/null | |
apt install libgflags2.2 libgflags-dev -y > /dev/null | |
echo "clone TDengine ${{ github.event.pull_request.base.ref }} on ${{ steps.setup.outputs.uname }}" | |
git clone --branch ${{ github.event.pull_request.base.ref }} --depth 1 https://github.com/taosdata/TDengine > /dev/null || exit 1 | |
echo "build TDengine 3.0 on ${{ steps.setup.outputs.uname }}" | |
cd TDengine || exit 1 | |
mkdir debug ||: | |
cd debug || exit 1 | |
cmake .. > /dev/null && make -j2 > /dev/null && make install > /dev/null | |
if [[ ! -f /usr/local/taos/bin/taosd ]] | |
then | |
echo "TDengine build failure" | |
exit 1 | |
fi | |
echo "Checkout taos-tools to PR number on ${{ steps.setup.outputs.uname }}" | |
git config --global --add safe.directory /home/runner/work/taos-tools/taos-tools | |
cd /home/runner/work/taos-tools/taos-tools | |
if [ ! -z "${{env.PR_NUMBER}}" ]; then | |
git fetch origin +refs/pull/${{env.PR_NUMBER}}/merge | |
git checkout -qf FETCH_HEAD | |
fi | |
mkdir debug ||: | |
cd debug | |
cmake .. -DTOOLS_BUILD_TYPE=${{env.TOOLS_BUILD_TYPE}} > /dev/null && make -j2 > /dev/null && make install > /dev/null | |
if [[ ! -f /usr/local/taos/bin/taosdump ]] || [[ ! -f /usr/local/taos/bin/taosBenchmark ]] | |
then | |
echo "taos-tools build failure" | |
exit 1 | |
fi | |
echo "TEST: old cases" | |
cd ../tests | |
apt install python3 python3-pip -y > /dev/null | |
pip3 install --upgrade pip > /dev/null | |
pip3 install decorator numpy psutil pandas faker toml > /dev/null | |
pip3 install taospy > /dev/null | |
pip3 install fabric2 > /dev/null | |
python3 ./test.py -f taosdump/old/taosdumpTest.py && echo -e "\033[32m taosdumpTest.py success! \033[0m" || echo -e "\033[31m taosdumpTest.py failed! \033[0m" | tee -a ~/taosdump-failed.txt | |
if [ -f ~/taosdump-failed.txt ]; then | |
cat ~/taosdump-failed.txt; | |
exit 1; | |
fi |