| # 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. |
| |
| {% import 'macros.jinja' as macros with context %} |
| |
| {{ macros.github_header() }} |
| |
| {% set use_conda = use_conda|default(False) %} |
| # env: is generated by macros.github_header() |
| # Current oldest supported version according to https://endoflife.date/macos |
| MACOSX_DEPLOYMENT_TARGET: "14.0" |
| |
| jobs: |
| verify: |
| name: "Verify release candidate on macOS" |
| runs-on: {{ github_runner|default("macos-latest") }} |
| {% if env is defined %} |
| env: |
| {% for key, value in env.items() %} |
| {{ key }}: {{ value }} |
| {% endfor %} |
| {% endif %} |
| |
| steps: |
| {{ macros.github_checkout_arrow(fetch_depth=0)|indent }} |
| |
| {% if not use_conda %} |
| - name: Install System Dependencies |
| shell: bash |
| run: | |
| {% if github_runner in ("macos-14", "macos-latest") %} |
| # pkg-config formula is deprecated but it's still installed |
| # in GitHub Actions runner now. We can remove this once |
| # pkg-config formula is removed from GitHub Actions runner. |
| brew uninstall pkg-config || : |
| brew uninstall pkg-config@0.29.2 || : |
| {% endif %} |
| |
| brew bundle --file=arrow/cpp/Brewfile |
| brew bundle --file=arrow/c_glib/Brewfile |
| |
| # For Meson. |
| # See also: https://github.com/mesonbuild/meson/issues/7701 |
| pkgconf="$(brew --prefix pkgconf)/bin/pkgconf" |
| if [ -x "${pkgconf}" ]; then |
| echo "PKG_CONFIG=${pkgconf}" >> $GITHUB_ENV |
| fi |
| |
| # For reproducible source archive verification |
| brew install gzip |
| {% endif %} |
| |
| - name: Run verification |
| shell: bash |
| env: |
| TEST_DEFAULT: 0 |
| TEST_{{ target|upper }}: 1 |
| {% if use_conda %} |
| {% if target == "integration" %} |
| # JPype doesn't work with Python 3.13. |
| # See also: |
| # * https://discuss.python.org/t/api-for-python-3-13-prevents-use-of-3rd-party-gc-allocators/62709/5 |
| # * GH-44386 |
| # * GH-44389 |
| PYTHON_VERSION: "3.12" |
| {% endif %} |
| USE_CONDA: 1 |
| {% else %} |
| GTest_SOURCE: SYSTEM |
| {% if target == "cpp" %} |
| TEST_SOURCE_REPRODUCIBLE: 1 |
| {% endif %} |
| {% endif %} |
| run: | |
| version={{ release|default("") }} |
| rc={{ rc|default("") }} |
| if [ -n "${version}" ] && [ -n "${rc}" ]; then |
| args=("${version}" "${rc}") |
| GITHUB_REPOSITORY=apache/arrow |
| else |
| args=() |
| GITHUB_REPOSITORY={{ arrow.github_repo }} |
| fi |
| arrow/dev/release/verify-release-candidate.sh "${args[@]}" |