# 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 UT (macOS) on: pull_request: schedule: - cron: '0 4,10,16,22 * * *' # schedule it periodically to share the cache concurrency: group: ${{ github.ref }} (BE UT macOS) cancel-in-progress: true jobs: run-ut: name: BE UT (macOS) runs-on: macos-12 steps: - name: Checkout uses: actions/checkout@v3 with: persist-credentials: false submodules: recursive - name: Paths Filter if: ${{ github.event_name != 'schedule' }} uses: ./.github/actions/paths-filter id: filter with: filters: | be_changes: - 'be/**' - 'gensrc/proto/**' - 'gensrc/thrift/**' - name: Ccache ${{ github.ref }} if: ${{ github.event_name == 'schedule' || steps.filter.outputs.be_changes == 'true' }} uses: ./.github/actions/ccache-action with: key: BE-UT-macOS max-size: "2G" restore-keys: BE-UT-macOS- - name: Run UT ${{ github.ref }} if: ${{ github.event_name == 'schedule' || steps.filter.outputs.be_changes == 'true' }} run: | cellars=( 'automake' 'autoconf' 'libtool' 'pkg-config' 'texinfo' 'coreutils' 'gnu-getopt' 'python@3' 'cmake' 'ninja' 'ccache' 'bison' 'byacc' 'gettext' 'wget' 'pcre' 'openjdk@11' 'maven' 'node' 'llvm@16' ) brew install "${cellars[@]}" pushd thirdparty branch="${{ github.base_ref }}" if [[ -z "${branch}" ]] || [[ "${branch}" == 'master' ]]; then curl -L https://github.com/apache/doris-thirdparty/releases/download/automation/doris-thirdparty-prebuilt-darwin-x86_64.tar.xz \ -o doris-thirdparty-prebuilt-darwin-x86_64.tar.xz else curl -L "https://github.com/apache/doris-thirdparty/releases/download/automation-${branch/branch-/}/doris-thirdparty-prebuilt-darwin-x86_64.tar.xz" \ -o doris-thirdparty-prebuilt-darwin-x86_64.tar.xz fi tar -xvf doris-thirdparty-prebuilt-darwin-x86_64.tar.xz popd ./run-be-ut.sh --run -j "$(nproc)" --clean