Ubuntu (3.0 taosdump WebSocket) #2147
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: Ubuntu (3.0 taosdump WebSocket) | |
on: | |
schedule: | |
- cron: "10 16 * * *" | |
push: | |
branches: | |
- develop | |
- 3.0 | |
- main | |
pull_request: | |
branches: | |
- develop | |
- 3.0 | |
- main | |
env: | |
TOOLS_BUILD_TYPE: Release | |
PR_NUMBER: ${{ github.event.number }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Step that prints name of pull request's base branch | |
run: | | |
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' | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit. | |
- 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/CMakeLists.txt | |
src/taosdump* | |
inc/* | |
tests/taosdump/ws3/* | |
deps/CMakeLists.txt | |
packaging/tools/* | |
.github/workflows/*taosdump* | |
- 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: Checkout TDengine | |
if: | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
uses: actions/checkout@v2 | |
with: | |
repository: 'taosdata/TDengine' | |
path: 'TDengine' | |
ref: ${{ github.event.pull_request.base.ref }} | |
- name: Change time zone | |
if: | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
sudo timedatectl set-timezone Asia/Shanghai | |
sudo date | |
- name: Set up Go | |
if: | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.17 | |
- name: Set up Rust | |
if: | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
uses: actions-rs/[email protected] | |
with: | |
toolchain: stable | |
- uses: actions/cache@v3 | |
id: cache-rust | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
key: ${{ runner.os }}-cargo-${{ steps.setup-rust.outputs.rustc_hash }} | |
- uses: actions/cache@v3 | |
id: cache-rust-target | |
with: | |
path: | | |
TDengine/tools/taosws-rs/target/ | |
key: ${{ runner.os }}-cargo-target-${{ steps.setup-rust.outputs.rustc_hash }} | |
- name: first build TDengine | |
if: | | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
sudo apt update > /dev/null | |
sudo apt install libgflags2.2 libgflags-dev -y > /dev/null | |
cd TDengine | |
mkdir debug | |
cd debug | |
cmake .. -DBUILD_HTTP=false -DWEBSOCKET=true > /dev/null | |
make -j2 > /dev/null && sudo make install > /dev/null && cd .. && rm -rf debug | |
if [[ ! -f /usr/local/taos/bin/taosd ]] || [[ ! -f /usr/local/taos/bin/taosadapter ]] | |
then | |
echo "TDengine build failure" | |
exit 1 | |
fi | |
- name: show TDengine's taosws commit | |
if: | | |
steps.changed-files-specific.outputs.any_changed == 'true' && | |
github.event_name == 'pull_request' | |
run: | | |
cd TDengine/tools/taosws-rs | |
git log --oneline | head -1 | |
- name: Install packages for build taos-tools | |
if: | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: sudo apt install lzma-dev liblzma-dev libjansson-dev libz-dev zlib1g libsnappy-dev pkg-config lcov expect -y > /dev/null | |
- name: Checkout taos-tools to PR number | |
if: | | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
run: | | |
git fetch origin +refs/pull/${{env.PR_NUMBER}}/merge | |
git checkout -qf FETCH_HEAD | |
- name: Build taos-tools | |
if: | | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
mkdir debug ||: | |
cd debug | |
cmake .. -DTOOLS_BUILD_TYPE=${{env.TOOLS_BUILD_TYPE}} -DWEBSOCKET=true > /dev/null | |
make -j2 > /dev/null && sudo 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 | |
- name: Install python packages | |
if: | | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
pip3 install decorator numpy fabric2 psutil pandas faker toml taospy > /dev/null | |
- name: taosdump Develop Test | |
if: | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
cd tests | |
sudo pkill -9 taosadapter || : | |
sudo pkill -9 taosd || : | |
if find taosdump/ws3 -name "*.py"|grep -q .; | |
then | |
for i in `find taosdump/ws3 -name "*.py"|grep -Ev "Float|Double"`; \ | |
do printf $i && python3 ./test.py -f $i > /dev/null \ | |
&& echo -e " \033[32m develop-test:$i success! \033[0m" \ | |
| tee -a ~/taosdump-success.txt \ | |
|| echo -e " \033[31m develop-test:$i failed! \033[0m" \ | |
| tee -a ~/taosdump-failed.txt ; \ | |
done | |
fi | |
- name: taosdump Cmd line Test | |
if: | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
cd debug | |
./build/bin/taosdump -C https://not-exist.com:80/cloud -D test ||: | |
export TDENGINE_CLOUD_DSN=https://not-exist.com:80/cloud | |
./build/bin/taosdump -D test ||: | |
- name: Check Test Result | |
if: | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
if [ -f ~/taosdump-failed.txt ]; then | |
if [ -f ~/taosa.log ]; then | |
cat ~/taosa.log | |
else | |
echo "taosa.log not found" | |
fi | |
cat ~/taosdump-failed.txt | |
exit 1 | |
elif [ -f ~/taosdump-success.txt ]; then | |
cat ~/taosdump-success.txt | |
fi |