Merge pull request #753 from taosdata/feat/TD-30267 #1734
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: macOS (3.0 Release) | |
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: macos-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/* | |
inc/* | |
deps/* | |
deps/CMakeLists.txt | |
packaging/tools/* | |
.github/workflows/3.0-macos-release.yml | |
- 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 homebrew | |
if: | | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
brew update | |
brew install argp-standalone pkg-config | |
brew info argp-standalone | |
- 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 | |
if: | | |
(steps.changed-files-specific.outputs.any_changed == '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: | | |
(steps.changed-files-specific.outputs.any_changed == 'true' | |
&& github.event_name == 'pull_request') | |
|| github.event_name == 'push' | |
|| github.event_name == 'schedule' | |
run: | | |
cd TDengine && mkdir debug && cd debug && cmake .. -DBUILD_HTTP=false -DWEBSOCKET=true > /dev/null && make -j2 > /dev/null && sudo make install > /dev/null | |
if [[ ! -f /usr/local/bin/taosd ]] || [[ ! -f /usr/local/bin/taosadapter ]] | |
then | |
echo "TDengine build failure" | |
exit 1 | |
fi | |
- 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: | | |
echo "install package for taos-tools" | |
- 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 -j8 > /dev/null && sudo make install > /dev/null | |
#if [[ ! -f /usr/local/taos/bin/taosdump ]] || [[ ! -f /usr/local/taos/bin/taosBenchmark ]] | |
if [[ ! -f /usr/local/bin/taosBenchmark ]] | |
then | |
echo "taos-tools build failure" | |
exit 1 | |
fi | |