Skip to content

feat: 完善项目`

feat: 完善项目` #5

Workflow file for this run

name: push
on:
push:
branches:
- 'main'
- '3.0'
- '3.1'
jobs:
build:
runs-on: ubuntu-22.04
name: Build
outputs:
commit_id: ${{ steps.get_commit_id.outputs.commit_id }}
steps:
- name: checkout TDengine
uses: actions/checkout@v3
with:
repository: 'taosdata/TDengine'
path: 'TDengine'
ref: ${{ github.ref_name }}
- name: get_commit_id
id: get_commit_id
run: |
cd TDengine
echo "commit_id=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
- name: Cache server
id: cache-server
uses: actions/cache@v3
with:
path: server.tar.gz
key: ${{ runner.os }}-build-${{ github.ref_name }}-${{ steps.get_commit_id.outputs.commit_id }}
- name: prepare install
if: steps.cache-server.outputs.cache-hit != 'true'
run: sudo apt install -y libgeos-dev
- name: install TDengine
if: steps.cache-server.outputs.cache-hit != 'true'
run: |
cd TDengine
mkdir debug
cd debug
cmake .. -DBUILD_JDBC=false -DBUILD_TEST=off -DBUILD_HTTP=false -DVERNUMBER=3.9.9.9
make -j 4
- name: package
if: steps.cache-server.outputs.cache-hit != 'true'
run: |
mkdir -p ./release
cp ./TDengine/debug/build/bin/taos ./release/
cp ./TDengine/debug/build/bin/taosd ./release/
cp ./TDengine/tools/taosadapter/taosadapter ./release/
cp ./TDengine/debug/build/lib/libtaos.so.3.9.9.9 ./release/
cp ./TDengine/debug/build/lib/librocksdb.so.8.1.1 ./release/ ||:
cp ./TDengine/include/client/taos.h ./release/
cat >./release/install.sh<<EOF
chmod +x ./taos
chmod +x ./taosd
chmod +x ./taosadapter
cp ./taos /bin/
cp ./taosd /bin/
cp ./taosadapter /bin/
cp ./libtaos.so.3.9.9.9 /usr/lib
cp ./librocksdb.so.8.1.1 /usr/lib ||:
ln -sf /usr/lib/libtaos.so.3.9.9.9 /usr/lib/libtaos.so.1
ln -sf /usr/lib/libtaos.so.1 /usr/lib/libtaos.so
ln -sf /usr/lib/librocksdb.so.8.1.1 /usr/lib/librocksdb.so.8 ||:
ln -sf /usr/lib/librocksdb.so.8 /usr/lib/librocksdb.so ||:
cp ./taos.h /usr/include
EOF
tar -zcvf server.tar.gz ./release
test:
runs-on: ubuntu-22.04
needs: build
strategy:
matrix:
go: [ '1.14', 'stable' ]
name: Go ${{ matrix.go }}
steps:
- name: get cache server
id: get-cache-server
uses: actions/cache@v3
with:
path: server.tar.gz
key: ${{ runner.os }}-build-${{ github.ref_name }}-${{ needs.build.outputs.commit_id }}
restore-keys: |
${{ runner.os }}-build-${{ github.ref_name }}-
- name: prepare install
run: sudo apt install -y libgeos-dev
- name: install
run: |
tar -zxvf server.tar.gz
cd release && sudo sh install.sh
- name: checkout
uses: actions/checkout@v3
- name: copy taos cfg
run: |
sudo mkdir -p /etc/taos
sudo cp ./.github/workflows/taos.cfg /etc/taos/taos.cfg
sudo cp ./.github/workflows/taosadapter.toml /etc/taos/taosadapter.toml
- name: shell
run: |
cat >start.sh<<EOF
ulimit -n 65535 && TAOS_SUPPORT_VNODES=256 taosd
EOF
- name: taosd
run: nohup sudo sh ./start.sh &
- name: start taosadapter
run: sudo taosadapter &
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}
cache-dependency-path: go.sum
- name: Test
run: sudo go test -v --count=1 -coverprofile=coverage.txt -covermode=atomic ./...
- name: Upload coverage to Codecov
if: ${{ matrix.go }} == 'stable'
uses: codecov/codecov-action@v4-beta
with:
files: ./coverage.txt
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_ORG_TOKEN }}