[Chore](workflow) move clang-tidy to code-checks (#14758)
move clang-tidy to code-checks
This commit is contained in:
55
.github/workflows/clang-format.yml
vendored
Normal file
55
.github/workflows/clang-format.yml
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
---
|
||||
name: BE Code Formatter
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
clang-format:
|
||||
name: "Clang Formatter"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
submodules: recursive
|
||||
|
||||
- name: Paths filter
|
||||
uses: ./.github/actions/paths-filter
|
||||
id: filter
|
||||
with:
|
||||
filters: |
|
||||
be_changes:
|
||||
- 'be/src/**'
|
||||
- 'be/test/**'
|
||||
|
||||
- name: "Format it!"
|
||||
if: ${{ steps.filter.outputs.be_changes == 'true' }}
|
||||
uses: ./.github/actions/clang-format-lint-action
|
||||
id: be_clang_format
|
||||
with:
|
||||
source: "be/src be/test"
|
||||
clangFormatVersion: 15
|
||||
inplace: False
|
||||
|
||||
- name: Ignore it!
|
||||
if: ${{ steps.filter.outputs.be_changes == 'false' }}
|
||||
run: echo 'No need to check.'
|
||||
@ -14,54 +14,52 @@
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
---
|
||||
name: BE Code Checks
|
||||
name: Code Checks
|
||||
|
||||
on: [push, pull_request]
|
||||
on: [push, pull_request_target]
|
||||
|
||||
jobs:
|
||||
clang-format:
|
||||
name: "Clang Formatter"
|
||||
shellcheck:
|
||||
name: ShellCheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
|
||||
- name: Checkout ${{ github.ref }} ( ${{ github.sha }} )
|
||||
if: ${{ github.event_name != 'pull_request_target' }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
submodules: recursive
|
||||
|
||||
- name: Paths filter
|
||||
uses: ./.github/actions/paths-filter
|
||||
id: filter
|
||||
- name: Checkout ${{ github.ref }} ( ${{ github.event.pull_request.head.sha }} )
|
||||
if: ${{ github.event_name == 'pull_request_target' }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
filters: |
|
||||
be_changes:
|
||||
- 'be/src/**'
|
||||
- 'be/test/**'
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
submodules: recursive
|
||||
|
||||
- name: "Format it!"
|
||||
if: ${{ steps.filter.outputs.be_changes == 'true' }}
|
||||
uses: ./.github/actions/clang-format-lint-action
|
||||
id: be_clang_format
|
||||
- name: Patch
|
||||
run: |
|
||||
pushd .github/actions/action-sh-checker >/dev/null
|
||||
git apply ../patches/action-sh-checker.patch
|
||||
popd >/dev/null
|
||||
|
||||
- name: Run ShellCheck
|
||||
uses: ./.github/actions/action-sh-checker
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
source: "be/src be/test"
|
||||
clangFormatVersion: 15
|
||||
inplace: False
|
||||
|
||||
- name: Ignore it!
|
||||
if: ${{ steps.filter.outputs.be_changes == 'false' }}
|
||||
run: echo 'No need to check.'
|
||||
sh_checker_comment: true
|
||||
sh_checker_exclude: .git .github ^thirdparty/src ^thirdparty/installed ^ui ^docs/node_modules ^tools/clickbench-tools ^extension ^output ^fs_brokers/apache_hdfs_broker/output (^|.*/)Dockerfile$
|
||||
|
||||
clang-tidy:
|
||||
name: "Clang Tidy"
|
||||
if: ${{ github.event_name == 'pull_request_target' }}
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
|
||||
- name: Checkout ${{ github.ref }} ( ${{ github.event.pull_request.head.sha }} )
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Paths Filter
|
||||
@ -75,7 +73,7 @@ jobs:
|
||||
- 'gensrc/thrift/**'
|
||||
|
||||
- name: Generate compile_commands.json
|
||||
if: ${{ github.event_name == 'pull_request' && steps.filter.outputs.be_changes == 'true'}}
|
||||
if: ${{ steps.filter.outputs.be_changes == 'true' }}
|
||||
run: |
|
||||
export DEFAULT_DIR='/opt/doris'
|
||||
|
||||
@ -84,14 +82,8 @@ jobs:
|
||||
-q -O /tmp/ldb_toolchain_gen.sh
|
||||
bash /tmp/ldb_toolchain_gen.sh "${DEFAULT_DIR}/ldb-toolchain"
|
||||
|
||||
sudo apt update
|
||||
sudo apt upgrade --yes
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt install --yes tzdata byacc
|
||||
|
||||
# set timezone
|
||||
sudo ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
sudo dpkg-reconfigure --frontend noninteractive tzdata
|
||||
|
||||
pushd thirdparty
|
||||
curl -L https://github.com/apache/doris-thirdparty/releases/download/automation/doris-thirdparty-prebuilt-linux-x86_64.tar.xz \
|
||||
-o doris-thirdparty-prebuilt-linux-x86_64.tar.xz
|
||||
@ -102,11 +94,13 @@ jobs:
|
||||
DISABLE_JAVA_UDF=ON DORIS_TOOLCHAIN=clang OUTPUT_BE_BINARY=0 ./build.sh --be
|
||||
|
||||
- name: Run clang-tidy review
|
||||
if: ${{ github.event_name == 'pull_request' && steps.filter.outputs.be_changes == 'true'}}
|
||||
if: ${{ steps.filter.outputs.be_changes == 'true' }}
|
||||
uses: ./.github/actions/clang-tidy-review
|
||||
id: review
|
||||
with:
|
||||
build_dir: ./be/build_Release
|
||||
config_file: "./.clang-tidy"
|
||||
|
||||
- if: steps.review.outputs.total_comments > 0
|
||||
run: exit 1
|
||||
# clang-tidy review not required now
|
||||
# - if: steps.review.outputs.total_comments > 0
|
||||
# run: exit 1
|
||||
52
.github/workflows/shellcheck.yml
vendored
52
.github/workflows/shellcheck.yml
vendored
@ -1,52 +0,0 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
name: ShellCheck
|
||||
|
||||
on: [push, pull_request_target]
|
||||
|
||||
jobs:
|
||||
shellcheck:
|
||||
name: ShellCheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout ${{ github.ref }} ( ${{ github.sha }} )
|
||||
if: ${{ github.event_name != 'pull_request_target' }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Checkout ${{ github.ref }} ( ${{ github.event.pull_request.head.sha }} )
|
||||
if: ${{ github.event_name == 'pull_request_target' }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Patch
|
||||
run: |
|
||||
pushd .github/actions/action-sh-checker >/dev/null
|
||||
git apply ../patches/action-sh-checker.patch
|
||||
popd >/dev/null
|
||||
|
||||
- name: Run ShellCheck
|
||||
uses: ./.github/actions/action-sh-checker
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
sh_checker_comment: true
|
||||
sh_checker_exclude: .git .github ^thirdparty/src ^thirdparty/installed ^ui ^docs/node_modules ^tools/clickbench-tools ^extension ^output ^fs_brokers/apache_hdfs_broker/output (^|.*/)Dockerfile$
|
||||
@ -263,7 +263,7 @@ find_shell_scripts() {
|
||||
local exclude_patterns
|
||||
local content
|
||||
local files=()
|
||||
content="$(grep 'sh_checker_exclude:' "${DORIS_HOME}/.github/workflows/shellcheck.yml")"
|
||||
content="$(grep 'sh_checker_exclude:' "${DORIS_HOME}/.github/workflows/code-checks.yml")"
|
||||
read -r -a exclude_patterns <<<"${content#*sh_checker_exclude: }"
|
||||
while read -r file; do
|
||||
local matched=false
|
||||
|
||||
Reference in New Issue
Block a user