mirror of https://github.com/bitcoin/bitcoin.git
Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13
1aaaaa078b
fuzz: Drop unused workaround after Apple-Clang bump (MarcoFalke)fadad7a494
Drop support for EOL macOS 13 (MarcoFalke) Pull request description: Now that macOS 13 is EOL (https://en.wikipedia.org/wiki/MacOS_Ventura), it seems odd to still support it. (macOS Ventura 13.7.8 received its final security update on 20 Aug 2025: https://support.apple.com/en-us/100100) This patch will only be released in version 31.x, another 6 months out from now. So: * Update the depends build and release note template to drop EOL macOS 13. * As a result, update the earliest Xcode to version 16 in CI. * Also, bump the macOS CI runner to version 15, to avoid issues when version 14 will be at its EOL in about 1 year. This also allows to drop a small workaround in the fuzz tests and unlocks libcpp hardening (https://github.com/bitcoin/bitcoin/pull/33462) ACKs for top commit: stickies-v: re-ACK1aaaaa078b
l0rinc: code review ACK1aaaaa078b
hodlinator: re-ACK1aaaaa078b
hebasto: ACK1aaaaa078b
. Tree-SHA512: 6d247a8432ef8ea8c6ff2a221472b278f8344346b172980299507f9898bb9e8e16480c128b1f4ca692bcbcc393da2b2fd6895ac5f118bc09e0f30f910529d20c
This commit is contained in:
commit
919e6d01e9
|
@ -105,7 +105,7 @@ jobs:
|
||||||
name: ${{ matrix.job-name }}
|
name: ${{ matrix.job-name }}
|
||||||
# Use any image to support the xcode-select below, but hardcode version to avoid silent upgrades (and breaks).
|
# Use any image to support the xcode-select below, but hardcode version to avoid silent upgrades (and breaks).
|
||||||
# See: https://github.com/actions/runner-images#available-images.
|
# See: https://github.com/actions/runner-images#available-images.
|
||||||
runs-on: macos-14
|
runs-on: macos-15
|
||||||
|
|
||||||
# When a contributor maintains a fork of the repo, any pull request they make
|
# When a contributor maintains a fork of the repo, any pull request they make
|
||||||
# to their own fork, or to the main repository, will trigger two CI runs:
|
# to their own fork, or to the main repository, will trigger two CI runs:
|
||||||
|
@ -123,10 +123,10 @@ jobs:
|
||||||
include:
|
include:
|
||||||
- job-type: standard
|
- job-type: standard
|
||||||
file-env: './ci/test/00_setup_env_mac_native.sh'
|
file-env: './ci/test/00_setup_env_mac_native.sh'
|
||||||
job-name: 'macOS 14 native, arm64, no depends, sqlite only, gui'
|
job-name: 'macOS native, no depends, sqlite only, gui'
|
||||||
- job-type: fuzz
|
- job-type: fuzz
|
||||||
file-env: './ci/test/00_setup_env_mac_native_fuzz.sh'
|
file-env: './ci/test/00_setup_env_mac_native_fuzz.sh'
|
||||||
job-name: 'macOS 14 native, arm64, fuzz'
|
job-name: 'macOS native, fuzz'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
DANGER_RUN_CI_ON_HOST: 1
|
DANGER_RUN_CI_ON_HOST: 1
|
||||||
|
@ -145,8 +145,8 @@ jobs:
|
||||||
# Use the earliest Xcode supported by the version of macOS denoted in
|
# Use the earliest Xcode supported by the version of macOS denoted in
|
||||||
# doc/release-notes-empty-template.md and providing at least the
|
# doc/release-notes-empty-template.md and providing at least the
|
||||||
# minimum clang version denoted in doc/dependencies.md.
|
# minimum clang version denoted in doc/dependencies.md.
|
||||||
# See: https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes
|
# See: https://developer.apple.com/documentation/xcode-release-notes/xcode-16-release-notes
|
||||||
sudo xcode-select --switch /Applications/Xcode_15.0.app
|
sudo xcode-select --switch /Applications/Xcode_16.0.app
|
||||||
clang --version
|
clang --version
|
||||||
|
|
||||||
- name: Install Homebrew packages
|
- name: Install Homebrew packages
|
||||||
|
|
|
@ -248,7 +248,7 @@ def check_MACHO_libraries(binary) -> bool:
|
||||||
return ok
|
return ok
|
||||||
|
|
||||||
def check_MACHO_min_os(binary) -> bool:
|
def check_MACHO_min_os(binary) -> bool:
|
||||||
if binary.build_version.minos == [13,0,0]:
|
if binary.build_version.minos == [14,0,0]:
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
OSX_MIN_VERSION=13.0
|
OSX_MIN_VERSION=14.0
|
||||||
OSX_SDK_VERSION=14.0
|
OSX_SDK_VERSION=14.0
|
||||||
XCODE_VERSION=15.0
|
XCODE_VERSION=15.0
|
||||||
XCODE_BUILD_ID=15A240d
|
XCODE_BUILD_ID=15A240d
|
||||||
|
|
|
@ -36,7 +36,7 @@ Compatibility
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Bitcoin Core is supported and tested on operating systems using the
|
Bitcoin Core is supported and tested on operating systems using the
|
||||||
Linux Kernel 3.17+, macOS 13+, and Windows 10+. Bitcoin
|
Linux Kernel 3.17+, macOS 14+, and Windows 10+. Bitcoin
|
||||||
Core should also work on most other Unix-like systems but is not as
|
Core should also work on most other Unix-like systems but is not as
|
||||||
frequently tested on them. It is not recommended to use Bitcoin Core on
|
frequently tested on them. It is not recommended to use Bitcoin Core on
|
||||||
unsupported systems.
|
unsupported systems.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<plist version="0.9">
|
<plist version="0.9">
|
||||||
<dict>
|
<dict>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>13</string>
|
<string>14</string>
|
||||||
|
|
||||||
<key>LSArchitecturePriority</key>
|
<key>LSArchitecturePriority</key>
|
||||||
<array>
|
<array>
|
||||||
|
|
|
@ -75,7 +75,7 @@ auto& FuzzTargets()
|
||||||
|
|
||||||
void FuzzFrameworkRegisterTarget(std::string_view name, TypeTestOneInput target, FuzzTargetOptions opts)
|
void FuzzFrameworkRegisterTarget(std::string_view name, TypeTestOneInput target, FuzzTargetOptions opts)
|
||||||
{
|
{
|
||||||
const auto [it, ins]{FuzzTargets().try_emplace(name, FuzzTarget /* temporary can be dropped after Apple-Clang-16 ? */ {std::move(target), std::move(opts)})};
|
const auto [it, ins]{FuzzTargets().try_emplace(name, std::move(target), std::move(opts))};
|
||||||
Assert(ins);
|
Assert(ins);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue