fix(parser) add varchar implicit conversion to larger type when selec… #2563
This file contains hidden or 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: TDengine Build | |
on: | |
pull_request: | |
branches: | |
- 'main' | |
- '3.0' | |
- '3.1' | |
- '3.3.6' | |
- 'enh/cmake-TD-33848' | |
paths-ignore: | |
- 'docs/**' | |
- 'packaging/**' | |
- 'tests/**' | |
- '**/*.md' | |
- 'test/**' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Run on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- ubuntu-24.04 | |
- macos-13 | |
- macos-14 | |
- macos-15 | |
- windows-2022 | |
steps: | |
- name: Get CPU Cores | |
shell: bash | |
run: | | |
if [ "${{ runner.os }}" == "Linux" ]; then | |
CPU_CORES=$(nproc) | |
elif [ "${{ runner.os }}" == "macOS" ]; then | |
CPU_CORES=$(sysctl -n hw.ncpu) | |
elif [ "${{ runner.os }}" == "Windows" ]; then | |
CPU_CORES=$(powershell -Command "(Get-CimInstance -ClassName Win32_Processor).NumberOfCores") | |
fi | |
echo "CPU Cores: $CPU_CORES" | |
echo "CPU_CORES=$CPU_CORES" >> $GITHUB_ENV | |
- name: Dump CPU Cores | |
run: | | |
echo "The number of CPU cores is: ${{ env.CPU_CORES }}" | |
- name: prepare install path | |
if: runner.os == 'macOS' | |
run: | | |
sudo mkdir -p /usr/local/lib | |
sudo mkdir -p /usr/local/include | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
- name: Cache Go modules on Linux and macOS | |
if: runner.os != 'Windows' | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Cache Homebrew on macOS | |
if: runner.os == 'macOS' | |
uses: actions/cache@v3 | |
with: | |
path: /usr/local/Homebrew | |
key: ${{ runner.os }}-brew-${{ hashFiles('**/Brewfile') }} | |
restore-keys: | | |
${{ runner.os }}-brew- | |
- name: Cache Go modules on Windows | |
if: runner.os == 'Windows' | |
uses: actions/cache@v3 | |
with: | |
path: | | |
C:\Users\runneradmin\go\pkg\mod | |
C:\Users\runneradmin\AppData\Local\go-build | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.23 | |
- name: Install dependencies on Linux | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt update -y | |
sudo apt install -y \ | |
build-essential \ | |
cmake \ | |
gawk \ | |
libgeos-dev \ | |
libjansson-dev \ | |
liblzma-dev \ | |
libsnappy-dev \ | |
libssl-dev \ | |
libz-dev \ | |
pkg-config \ | |
zlib1g | |
- name: Install dependencies on macOS | |
if: runner.os == 'macOS' | |
run: | | |
brew update | |
brew install \ | |
argp-standalone \ | |
gawk \ | |
gflags \ | |
geos \ | |
jansson \ | |
openssl \ | |
pkg-config \ | |
snappy \ | |
zlib | |
- name: Show software version | |
run: | | |
cmake --version | |
- name: Get CMake | |
uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: 3.31.6 | |
- name: Install dependencies on Windows | |
if: runner.os == 'Windows' | |
run: | | |
choco install jom --yes | |
- name: Cache externals built | |
uses: actions/cache@v4 | |
id: cache-ext | |
with: | |
path: ${{ github.workspace }}/.externals | |
key: ${{ runner.os }}-${{ matrix.os }}-${{ hashFiles('cmake/external.cmake', 'cmake/in/**') }}-build-ext-v3 # this is tailing cache-version-tick | |
- if: ${{ steps.cache-ext.outputs.cache-hit != 'true' && runner.os != 'Windows' }} | |
name: Build externals on Linux and macOS | |
continue-on-error: false | |
run: | | |
./build.sh gen | |
./build.sh bld --target build_externals -v | |
- if: ${{ steps.cache-ext.outputs.cache-hit != 'true' && runner.os == 'Windows' }} | |
name: Build externals on Windows | |
continue-on-error: false | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 | |
set CL=/MP8 | |
call .\build.bat gen -G "NMake Makefiles JOM" | |
call .\build.bat bld --target build_externals -v | |
- name: Build TDengine on Linux and macOS | |
if: runner.os != 'Windows' | |
run: | | |
./build.sh gen -DTD_EXTERNALS_USE_ONLY:BOOL=ON | |
./build.sh bld -v | |
./build.sh install | |
which taosd | |
which taosadapter | |
which taoskeeper | |
which taos | |
taosd --help | |
taosadapter --help | |
- name: Build and install TDengine on Windows | |
if: runner.os == 'Windows' | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 | |
set CL=/MP8 | |
call .\build.bat gen -DTD_EXTERNALS_USE_ONLY:BOOL=ON -G "NMake Makefiles JOM" | |
call .\build.bat bld -v | |
call .\build.bat install | |
echo %PATH% | |
dir C:\TDengine | |
set PATH=%PATH%;C:\TDengine | |
echo %PATH% | |
where taos.exe | |
where taosd.exe | |
where taosadapter.exe | |
where taoskeeper.exe | |
taosd.exe --help | |
taosadapter.exe --help | |
- name: Statistics ldd | |
if: runner.os == 'Linux' | |
run: | | |
find ${{ github.workspace }}/debug/build/lib -type f -name "*.so" -print0 | xargs -0 ldd || true | |
find ${{ github.workspace }}/debug/build/bin -type f -print0 | xargs -0 ldd || true | |
- name: Statistics otool | |
if: runner.os == 'macOS' | |
run: | | |
find ${{ github.workspace }}/debug/build/lib -type f -name "*.dylib" -print0 | xargs -0 otool -L || true | |
find ${{ github.workspace }}/debug/build/bin -type f -print0 | xargs -0 otool -L || true | |
- name: Start taosd on Linux and macOS | |
if: runner.os != 'Windows' | |
run: | | |
taosd -V | |
taosadapter -V | |
taosBenchmark -V | |
taos -V | |
sudo bash -c 'echo "fqdn localhost" >> /etc/taos/taos.cfg' | |
nohup taosd & | |
nohup taosadapter & | |
pgrep -l taos | |
sleep 6 # NOTE: wait for taosd initialization to complete | |
pgrep -l taos | |
taos -s "show databases" | |
taos -s "show dnodes" | |
- name: Run tests with taosBenchmark | |
if: runner.os != 'Windows' | |
run: | | |
taos -s "show databases" | |
taosBenchmark -t 10 -n 10 -s 1744951233012 -y | |
taos -s "select count(*) from test.meters" | |
- name: Clean up on Linux and macOS | |
if: runner.os != 'Windows' | |
run: | | |
./build.sh stop |