CentOS7 (2.x build) #1345
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: CentOS7 (2.x build) | |
on: | |
schedule: | |
- cron: "10 16 * * *" | |
push: | |
branches: [ develop ] | |
pull_request: | |
branches: [ develop ] | |
env: | |
TOOLS_BUILD_TYPE: Release | |
PR_NUMBER: ${{ github.event.number }} | |
jobs: | |
check-changed: | |
runs-on: ubuntu-latest | |
outputs: | |
changedflag: ${{ steps.changedflag.outputs.changedflag }} | |
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/* | |
inc/* | |
deps/CMakeLists.txt | |
packaging/tools/* | |
packaging/rpm/* | |
.github/workflows/2.x-centos-release.yml | |
- name: Run step if any of the listed files above change | |
id: changedflag | |
if: steps.changed-files-specific.outputs.any_changed == 'true' | |
run: | | |
echo "One or more files listed above has changed." > ~/changed.log | |
echo "::set-output name=changedflag::true" | |
build: | |
runs-on: ubuntu-latest | |
needs: check-changed | |
container: docker.io/centos:7 | |
steps: | |
- name: Step that prints name of pull request's base branch | |
run: | | |
echo ${{needs.check-changed.outputs.changedflag}} | |
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' | |
- name: install packages for build | |
if: | | |
(needs.check-changed.outputs.changedflag == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
echo "yum update" | |
yum update -y > /dev/null | |
echo "yum install endpoint repo" | |
yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm | |
echo "yum install epel" | |
yum install epel-release -y > /dev/null | |
echo "yum install packages" | |
yum install -y gcc gcc-c++ make cmake3 git openssl-devel wget > /dev/null | |
ln -sf /usr/bin/cmake3 /usr/bin/cmake | |
- name: Checkout TDengine 2.6 branch | |
if: | | |
(needs.check-changed.outputs.changedflag == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
repository: 'taosdata/TDengine' | |
path: 'TDengine' | |
ref: '2.6' | |
- name: Change time zone | |
if: | | |
(needs.check-changed.outputs.changedflag == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
echo "disable timezone changing" | |
#timedatectl set-timezone Asia/Shanghai | |
#date | |
- name: Checkout TDengine's taos-tools to PR number | |
if: | | |
(needs.check-changed.outputs.changedflag == 'true' | |
&& github.event_name == 'pull_request') | |
run: | | |
cd TDengine/src/kit/taos-tools | |
git fetch origin +refs/pull/${{env.PR_NUMBER}}/merge | |
git checkout -qf FETCH_HEAD | |
- name: Set up Go | |
if: | | |
(needs.check-changed.outputs.changedflag == '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: | | |
(needs.check-changed.outputs.changedflag == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- uses: actions/cache@v3 | |
if: | | |
(needs.check-changed.outputs.changedflag == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
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 }} | |
- name: Build & Install TDengine | |
if: | | |
(needs.check-changed.outputs.changedflag == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
yum install -y python3 python3-pip zlib-devel zlib-static xz-devel snappy-devel jansson jansson-devel pkgconfig libatomic libatomic-static libstdc++-static openssl-devel > /dev/null | |
python3 -m pip install --upgrade pip > /dev/null 2>&1 | |
cd TDengine && mkdir debug && cd debug && cmake .. -DBUILD_JDBC=false -DBUILD_TOOLS=true -DTOOLS_BUILD_TYPE=${{env.TOOLS_BUILD_TYPE}} -DBUILD_HTTP=false && make -j8 && make install | |
if [[ ! -f /usr/local/taos/bin/taosdump ]] || [[ ! -f /usr/local/taos/bin/taosBenchmark ]] | |
then | |
echo "taos-tools build failure" | |
exit 1 | |
fi | |
- name: taosdump Old Test cases | |
if: | | |
(needs.check-changed.outputs.changedflag == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
pip3 install decorator numpy fabric2 psutil pandas faker toml > /dev/null | |
pip3 install taospy > /dev/null | |
cd TDengine/tests/pytest | |
pkill -9 taosadapter || : | |
pkill -9 taosd || : | |
echo "TEST: old cases" | |
python3 ./test.py -f tools/taosdumpTest.py && echo -e "\033[32m pytest/tools/taosdumpTest.py success! \033[0m" || echo -e "\033[31m system-test/$i failed! \033[0m" | tee -a ~/taosdump-failed.txt | |
- name: Check Test Result | |
if: | | |
(needs.check-changed.outputs.changedflag == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
if [ -f ~/taosdump-failed.txt ]; then | |
cat ~/taosdump-failed.txt; | |
exit 1; | |
fi |