Skip to content

iotdb 每日发布 #988

iotdb 每日发布

iotdb 每日发布 #988

Workflow file for this run

# Build iotdb-rel/1.0, master, iot-benchmark
# Everyday
name: iotdb 每日发布
on:
# push:
# branches:
# - master
schedule:
- cron: "0 12 * * *"
workflow_dispatch:
jobs:
collect:
runs-on: ubuntu-latest
outputs:
date: ${{ steps.sys-info.outputs.date }}
steps:
- name: collect common info
shell: bash
id: sys-info
run: echo "date=$(date +"%Y-%m-%d")" >> $GITHUB_OUTPUT
#----start----
create-release:
needs: collect
runs-on: ubuntu-latest
steps:
- name: Create release
id: create-release
uses: ncipollo/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ needs.collect.outputs.date }}-apache-iotdb
prerelease: false
draft: false
body: ${{ needs.collect.outputs.date }} apache iotdb
name: ${{ needs.collect.outputs.date }} apache iotdb
#----end----
#----start----
build-in-win:
needs: [ collect,create-release ]
strategy:
fail-fast: false
max-parallel: 20
matrix:
iotdb_version: [ master ]
java_version: [ 11,17 ]
os: [ windows-2022 ]
runs-on: ${{ matrix.os }}
steps:
- name: Set java ${{ matrix.java }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java_version }}
distribution: 'zulu'
- name: download & unpack & install -> boost
if: ${{ matrix.os == 'windows-2022' && matrix.iotdb_version == 'master' }}
shell: cmd
run: choco install boost-msvc-14.3 --version=1.85.0
- name: download & unpack flex&bison
shell: cmd
run: |
C:\msys64\usr\bin\wget.exe -O ${{ github.workspace }}/win_flex_bison-latest.zip https://jaist.dl.sourceforge.net/project/winflexbison/win_flex_bison-latest.zip
7z x ${{ github.workspace }}/win_flex_bison-latest.zip -o${{ github.workspace }}/win_flex_bison-latest
- name: download & unpack mvn3.9.x
if: ${{ matrix.os == 'windows-2022' && matrix.iotdb_version == 'master' }}
shell: cmd
run: |
C:\msys64\usr\bin\wget.exe -O ${{ github.workspace }}/apache-maven-3.9.6-bin.zip https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.zip
7z x ${{ github.workspace }}/apache-maven-3.9.6-bin.zip -o${{ github.workspace }}/apache-maven-3.9.6-bin
- name: install openssl
run: |
choco install openssl
- name: Checkout apache/iotdb
uses: actions/checkout@v4
with:
path: iotdb
repository: 'apache/iotdb'
ref: ${{ matrix.iotdb_version }}
fetch-depth: 0
- name: Collect IoTDB info
id: iotdb-info
shell: bash
run: |
echo "mkdir upload"
mkdir upload
cd iotdb
echo $(pwd)
echo "commit=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
echo "branch=$(git branch |grep ^*|cut -d ' ' -f 2|sed "s:/:-:")" >> $GITHUB_OUTPUT
echo "version=$(cat pom.xml | grep -e '^ <version>' | sed 's# ##g' | sed 's#<version>##g' | sed 's#</version>##g')" >> "$GITHUB_OUTPUT"
# To distinguish master and rel/1.0 branches, add temporary variables
echo "matrix_version=$(echo ${{ matrix.iotdb_version }} | sed "s:/::")" >> "$GITHUB_OUTPUT"
# boost
echo "boost_include_dir=${{ github.workspace }}\boost_1_85_0\boost_1_85_0" >> "$GITHUB_OUTPUT"
echo "boost_library_dir=${{ github.workspace }}\boost_1_85_0\boost_1_85_0\stage\lib" >> "$GITHUB_OUTPUT"
#
echo "cmake_url=https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-windows-x86_64.zip" >> "$GITHUB_OUTPUT"
if [ "${{ matrix.iotdb_version }}" = "master" ]; then
echo "server_dir=iotdb-core/datanode" >> "$GITHUB_OUTPUT"
echo "cpp_dir=iotdb-client\client-cpp" >> "$GITHUB_OUTPUT"
echo "cmake_root_dir=${{ github.workspace }}\iotdb\iotdb-client\compile-tools\thrift\target\cmake-3.23.1-windows-x86_64" >> "$GITHUB_OUTPUT"
fi
# build client-cpp
- name: Build client-cpp on ${{ matrix.iotdb_version }} branch
if: ${{ matrix.os == 'windows-2022' && matrix.iotdb_version == 'master' }}
shell: cmd
run: |
cd ${{ github.workspace }}\iotdb
set Path=%Path%;${{ github.workspace }}\win_flex_bison-latest
set Path=${{ github.workspace }}\apache-maven-3.9.6-bin\apache-maven-3.9.6\bin;%Path%
set
mvn clean package -P with-cpp -pl ${{ steps.iotdb-info.outputs.cpp_dir }},example\client-cpp-example -am -DskipTests
# - name: Build client-cpp on ${{ matrix.iotdb_version }} branch
# if: ${{ matrix.os == 'windows-2022' && matrix.iotdb_version != 'master' }}
# shell: cmd
# run: |
# cd ${{ github.workspace }}\iotdb
# set Path=%Path%;${{ github.workspace }}\win_flex_bison-latest
# set
# mvn package -Dcmake.generator="Visual Studio 17 2022" -P compile-cpp -pl ${{ steps.iotdb-info.outputs.server_dir }},${{ steps.iotdb-info.outputs.cpp_dir }},example\client-cpp-example -am -DskipTests -Dboost.include.dir="${{ steps.iotdb-info.outputs.boost_include_dir }}" -Dboost.library.dir="${{ steps.iotdb-info.outputs.boost_library_dir }}" -Dcmake.url="${{ steps.iotdb-info.outputs.cmake_url }}" -Dcmake.root.dir="${{ steps.iotdb-info.outputs.cmake_root_dir }}"
# move client-cpp file to workspace
- name: Move client-cpp file to workspace
shell: cmd
run: |
echo "dir ${{ github.workspace }}\iotdb\${{ steps.iotdb-info.outputs.cpp_dir }}\target"
dir ${{ github.workspace }}\iotdb\${{ steps.iotdb-info.outputs.cpp_dir }}\target
echo "move ${{ github.workspace }}\iotdb\${{ steps.iotdb-info.outputs.cpp_dir }}\target\client-cpp-${{ steps.iotdb-info.outputs.version }}-cpp-windows-x86_64.zip ${{ github.workspace }}\apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip"
move ${{ github.workspace }}\iotdb\${{ steps.iotdb-info.outputs.cpp_dir }}\target\client-cpp-${{ steps.iotdb-info.outputs.version }}-cpp-windows-x86_64.zip ${{ github.workspace }}\apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
echo "dir ${{ github.workspace }}"
dir ${{ github.workspace }}
# Comcpress client-cpp-example
- name: Comcpress client-cpp-example
shell: bash
run: |
cd iotdb/example/client-cpp-example/target/
echo $(pwd)
echo "7z a client-cpp-example-${{ steps.iotdb-info.outputs.version }}-cpp-${{ matrix.os }}-x86_64.zip *"
7z a client-cpp-example-${{ steps.iotdb-info.outputs.version }}-cpp-${{ matrix.os }}-x86_64.zip *
# move zip to upload folder
- name: Move zip to upload folder
shell: cmd
run: |
echo "dir iotdb\${{ steps.iotdb-info.outputs.cpp_dir }}\target"
dir iotdb\${{ steps.iotdb-info.outputs.cpp_dir }}\target
echo "dir iotdb\example\client-cpp-example\target"
dir iotdb\example\client-cpp-example\target
echo "move client-cpp to upload folder"
move ${{ github.workspace }}\apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip upload\apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
echo "move client-cpp-example to upload folder"
move iotdb\example\client-cpp-example\target\client-cpp-example-${{ steps.iotdb-info.outputs.version }}-cpp-${{ matrix.os }}-x86_64.zip upload\apache-iotdb-client-cpp-example-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
echo "dir upload"
dir upload
# upload
- name: Upload cliet-cpp on ${{ steps.iotdb-info.outputs.branch }} using ${{ matrix.java_version }} on ${{ matrix.os }}
uses: ncipollo/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ needs.collect.outputs.date }}-apache-iotdb
prerelease: false
draft: false
body: ${{ needs.collect.outputs.date }} apache iotdb
name: ${{ needs.collect.outputs.date }} apache iotdb
allowUpdates: true
artifactErrorsFailBuild: true
artifacts: "upload/apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip,upload/apache-iotdb-client-cpp-example-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip"
#
#----end----
#----start----
build-in-linux:
needs: [ collect,create-release ]
strategy:
fail-fast: false
max-parallel: 20
matrix:
iotdb_version: [ master ]
java_version: [ 11,17 ]
maven_version: [ '3.9.6' ]
os: [ ubuntu-22.04,ubuntu-20.04 ]
runs-on: ${{ matrix.os }}
steps:
- name: Set java ${{ matrix.java_version }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java_version }}
distribution: 'zulu'
- name: Setup Maven Action
uses: s4u/[email protected]
with:
java-version: ${{ matrix.java_version }}
maven-version: ${{ matrix.maven_version }}
- name: Checkout apache/iotdb
uses: actions/checkout@v4
with:
path: iotdb
repository: 'apache/iotdb'
ref: ${{ matrix.iotdb_version }}
fetch-depth: 0
#collect-iotdb
- name: Collect IoTDB info
id: iotdb-info
run: |
sudo apt-get install python3-pip libboost-all-dev
pip3 install setuptools
pip3 install wheel
pip3 install build
cd ${{ github.workspace }}/iotdb
echo "commit=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
echo "branch=$(git branch |grep ^*|cut -d ' ' -f 2|sed "s:/:-:")" >> $GITHUB_OUTPUT
echo "version=$(cat pom.xml | grep -e '^ <version>' | sed 's# ##g' | sed 's#<version>##g' | sed 's#</version>##g')" >> $GITHUB_OUTPUT
# To distinguish master and rel/1.0 branches, add temporary variables
echo "matrix_version=$(echo ${{ matrix.iotdb_version }} | sed "s:/::")" >> $GITHUB_OUTPUT
if [ "${{ matrix.iotdb_version }}" = "master" ]; then
echo "client_jdbc_module=iotdb-client/jdbc" >> "$GITHUB_OUTPUT"
echo "client_py_module=iotdb-client/client-py" >> "$GITHUB_OUTPUT"
echo "client_cpp_module=iotdb-client/client-cpp" >> "$GITHUB_OUTPUT"
# elif [ "${{ matrix.iotdb_version }}" = "rel/1.2" ]; then
# echo "client_jdbc_module=iotdb-client/jdbc" >> "$GITHUB_OUTPUT"
# echo "client_py_module=iotdb-client/client-py" >> "$GITHUB_OUTPUT"
# echo "client_cpp_module=iotdb-client/client-cpp" >> "$GITHUB_OUTPUT"
# else
# echo "client_jdbc_module=jdbc" >> "$GITHUB_OUTPUT"
# echo "client_py_module=client-py" >> "$GITHUB_OUTPUT"
# echo "client_cpp_module=client-cpp" >> "$GITHUB_OUTPUT"
fi
echo "client_cpp_example_module=example/client-cpp-example" >> "$GITHUB_OUTPUT"
#
#build-iotdb
- name: Only build iotdb-client-cpp in ${{ matrix.iotdb_version }} on ${{ matrix.os }}
if: ${{ matrix.os == 'ubuntu-20.04' }}
shell: bash
run: |
cd ${{ github.workspace }}/iotdb
echo "mvn clean package -P with-cpp -pl iotdb-client/client-cpp -am -Diotdb-tools-thrift.version=0.14.1.1-old-glibc-SNAPSHOT"
mvn clean package -P with-cpp -pl iotdb-client/client-cpp -am -Diotdb-tools-thrift.version=0.14.1.1-old-glibc-SNAPSHOT
mv ${{ github.workspace }}/iotdb/${{ steps.iotdb-info.outputs.client_cpp_module }}/target/client-cpp-${{ steps.iotdb-info.outputs.version }}-cpp-linux-x86_64.zip ${{ github.workspace }}/apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
ls -l ${{ github.workspace }}
du -sh ${{ github.workspace }}/apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
pwd ${{ github.workspace }}/apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
- name: Build iotdb in ${{ matrix.iotdb_version }} on ${{ matrix.os }}
if: ${{ matrix.os == 'ubuntu-22.04' }}
shell: bash
run: |
cd ${{ github.workspace }}/iotdb
if [ "${{ matrix.iotdb_version }}" = "master" ]; then
echo "mvn clean package -DskipTests -am -pl ${{ steps.iotdb-info.outputs.client_jdbc_module }},${{ steps.iotdb-info.outputs.client_py_module }},${{ steps.iotdb-info.outputs.client_cpp_module }},${{ steps.iotdb-info.outputs.client_cpp_example_module }},distribution -P get-jar-with-dependencies,with-cpp"
mvn clean package -DskipTests -am -pl ${{ steps.iotdb-info.outputs.client_jdbc_module }},${{ steps.iotdb-info.outputs.client_py_module }},${{ steps.iotdb-info.outputs.client_cpp_module }},${{ steps.iotdb-info.outputs.client_cpp_example_module }},distribution -P get-jar-with-dependencies,with-cpp
# else
# mvn clean package -DskipTests -am -pl ${{ steps.iotdb-info.outputs.client_jdbc_module }},${{ steps.iotdb-info.outputs.client_py_module }},${{ steps.iotdb-info.outputs.client_cpp_module }},${{ steps.iotdb-info.outputs.client_cpp_example_module }},distribution -P get-jar-with-dependencies,compile-grafana-plugin,compile-cpp
# mv ${{ github.workspace }}/iotdb/distribution/target/apache-iotdb-${{ steps.iotdb-info.outputs.version }}-grafana-plugin-bin.zip ${{ github.workspace }}/apache-iotdb-grafana-plugin-bin-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}.zip
# ls -l ${{ github.workspace }}
# pwd ${{ github.workspace }}/apache-iotdb-grafana-plugin-bin-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}.zip
# du -s ${{ github.workspace }}/apache-iotdb-grafana-plugin-bin-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}.zip
fi
cd ${{ github.workspace }}/iotdb/${{ steps.iotdb-info.outputs.client_py_module }}
bash release.sh
# rm -rf dist
# python3 setup.py bdist_wheel --universal
cd dist
export client_py_whl_name=$(ls apache_iotdb-*.whl)
cd ${{ github.workspace }}/iotdb/${{ steps.iotdb-info.outputs.client_cpp_example_module }}/target/
echo $(pwd)
echo "7z a client-cpp-example-${{ steps.iotdb-info.outputs.version }}-cpp-${{ matrix.os }}-x86_64.zip *"
7z a client-cpp-example-${{ steps.iotdb-info.outputs.version }}-cpp-${{ matrix.os }}-x86_64.zip *
cd ${{ github.workspace }}
mv ${{ github.workspace }}/iotdb/distribution/target/apache-iotdb-${{ steps.iotdb-info.outputs.version }}-all-bin.zip ${{ github.workspace }}/apache-iotdb-all-bin-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
mv ${{ github.workspace }}/iotdb/${{ steps.iotdb-info.outputs.client_jdbc_module }}/target/iotdb-jdbc-${{ steps.iotdb-info.outputs.version }}-jar-with-dependencies.jar ${{ github.workspace }}/apache-iotdb-jdbc-jar-with-dependencies-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.jar
mv ${{ github.workspace }}/iotdb/${{ steps.iotdb-info.outputs.client_py_module }}/dist/${client_py_whl_name} ${{ github.workspace }}/apache_iotdb-py2.py3-none-any-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.whl
mv ${{ github.workspace }}/iotdb/${{ steps.iotdb-info.outputs.client_cpp_module }}/target/client-cpp-${{ steps.iotdb-info.outputs.version }}-cpp-linux-x86_64.zip ${{ github.workspace }}/apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
mv ${{ github.workspace }}/iotdb/${{ steps.iotdb-info.outputs.client_cpp_example_module }}/target/client-cpp-example-${{ steps.iotdb-info.outputs.version }}-cpp-${{ matrix.os }}-x86_64.zip ${{ github.workspace }}/apache-iotdb-client-cpp-example-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
ls -l ${{ github.workspace }}
pwd ${{ github.workspace }}/apache-iotdb-all-bin-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
du -s ${{ github.workspace }}/apache-iotdb-all-bin-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
pwd ${{ github.workspace }}/apache-iotdb-jdbc-jar-with-dependencies-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.jar
du -s ${{ github.workspace }}/apache-iotdb-jdbc-jar-with-dependencies-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.jar
pwd ${{ github.workspace }}/apache_iotdb-py2.py3-none-any-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.whl
du -s ${{ github.workspace }}/apache_iotdb-py2.py3-none-any-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.whl
du -sh ${{ github.workspace }}/apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
pwd ${{ github.workspace }}/apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
pwd ${{ github.workspace }}/apache-iotdb-client-cpp-example-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
du -sh ${{ github.workspace }}/apache-iotdb-client-cpp-example-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip
# 20231219,compile grafana module will fail, so it will no longer be compiled
# mvn clean package -DskipTests -am -pl ${{ steps.iotdb-info.outputs.client_jdbc_module }},${{ steps.iotdb-info.outputs.client_py_module }},distribution -P get-jar-with-dependencies,with-grafana-plugin
#
#upload on master
- name: Upload distribution on ${{ steps.iotdb-info.outputs.branch }} using ${{ matrix.java_version }}
if: ${{ matrix.os == 'ubuntu-22.04' && matrix.iotdb_version == 'master' }}
uses: ncipollo/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ needs.collect.outputs.date }}-apache-iotdb
prerelease: false
draft: false
body: ${{ needs.collect.outputs.date }} apache iotdb
name: ${{ needs.collect.outputs.date }} apache iotdb
allowUpdates: true
artifactErrorsFailBuild: true
artifacts: "${{ github.workspace }}/apache-iotdb-all-bin-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip,${{ github.workspace }}/apache-iotdb-jdbc-jar-with-dependencies-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.jar,${{ github.workspace }}/apache_iotdb-py2.py3-none-any-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.whl,${{ github.workspace }}/apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip,${{ github.workspace }}/apache-iotdb-client-cpp-example-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip"
- name: Only upload iotdb-client-cpp on ${{ steps.iotdb-info.outputs.branch }} using ${{ matrix.java_version }}
if: ${{ matrix.os == 'ubuntu-20.04' && matrix.iotdb_version == 'master' }}
uses: ncipollo/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ needs.collect.outputs.date }}-apache-iotdb
prerelease: false
draft: false
body: ${{ needs.collect.outputs.date }} apache iotdb
name: ${{ needs.collect.outputs.date }} apache iotdb
allowUpdates: true
artifactErrorsFailBuild: true
artifacts: "${{ github.workspace }}/apache-iotdb-client-cpp-x86_64-${{ matrix.os }}-${{ steps.iotdb-info.outputs.branch }}-${{ steps.iotdb-info.outputs.version }}-${{ steps.iotdb-info.outputs.commit }}-java${{ matrix.java_version }}.zip"
#----end----
#----start----
build-benchmark:
needs: [ collect,create-release ]
strategy:
fail-fast: false
max-parallel: 20
matrix:
java_version: [ 11 ]
release_db: [ iotdb-1.3,influxdb,influxdb-2.0,timescaledb,timescaledb-cluster,tdengine-3.0,iotdb-2.0 ]
runs-on: ubuntu-latest
steps:
# set java
- name: Set java ${{ matrix.java_version }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java_version }}
distribution: 'zulu'
# clone iot-benchmark
- name: Checkout iot-benchmark
uses: actions/checkout@v4
with:
path: iot-benchmark
repository: 'thulab/iot-benchmark'
ref: master
fetch-depth: 0
- name: Collect benchmark info
id: benchmark-info
run: |
cd ${{ github.workspace }}/iot-benchmark
echo "commit=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
#
# build iot-benchmark
- name: Build benchmark
run: |
cd ${{ github.workspace }}/iot-benchmark
mvn clean package -DskipTests -am -pl core,${{ matrix.release_db }}
mv ${{ github.workspace }}/iot-benchmark/${{ matrix.release_db }}/target/iot-benchmark-${{ matrix.release_db }}.zip ${{ github.workspace }}/iot-benchmark-${{ matrix.release_db }}-${{ steps.benchmark-info.outputs.commit }}-java${{ matrix.java_version }}.zip
ls -l ${{ github.workspace }}
pwd ${{ github.workspace }}/iot-benchmark-${{ matrix.release_db }}-${{ steps.benchmark-info.outputs.commit }}-java${{ matrix.java_version }}.zip
du -s ${{ github.workspace }}/iot-benchmark-${{ matrix.release_db }}-${{ steps.benchmark-info.outputs.commit }}-java${{ matrix.java_version }}.zip
#---upload
- name: Upload iot-benchmark-${{ matrix.release_db }}-${{ steps.benchmark-info.outputs.commit }}.zip using ${{ matrix.java_version }}
uses: ncipollo/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ needs.collect.outputs.date }}-apache-iotdb
prerelease: false
draft: false
body: ${{ needs.collect.outputs.date }} apache iotdb
name: ${{ needs.collect.outputs.date }} apache iotdb
allowUpdates: true
artifactErrorsFailBuild: true
artifacts: "${{ github.workspace }}/iot-benchmark-${{ matrix.release_db }}-${{ steps.benchmark-info.outputs.commit }}-java${{ matrix.java_version }}.zip"
#----end----