Skip to content

Commit

Permalink
Merge #2934: [GA] Resolve latest macos-14 runner build failures
Browse files Browse the repository at this point in the history
b944d78 [GA] Update apt cache prior to package installation (Fuzzbawls)
81505c9 [GA] Pin XCode version for macos-14 runners (Fuzzbawls)
b90f2e8 [Build] Remove unused macOS framework libraries. (Fuzzbawls)

Pull request description:

  GA updated the version of XCode used for their macos-14 runners to a version that has known compatibility issues. For now, we can get around this by pinning the XCode version the runner's environment uses.

  Semi-related: included a commit to remove un-used macOS framework libs (ref: bitcoin#20496)

  And lastly, while finalizing this PR, GA's apt cache decided to go out of sync, so now force an apt update prior to package installation.

ACKs for top commit: b944d78
  panleone:
    utACK b944d78
  Liquid369:
    tACK b944d78

Tree-SHA512: 07335c067dc56bf1e7d259dfe18dddbba2ae6bc3752ead5a3cb1f95e89d464b3d77653c33d3fc63f7dc6645e32df8982071b673d51a953006b45fd42ec14b9f3
  • Loading branch information
Fuzzbawls committed Aug 20, 2024
2 parents 3d60bb5 + b944d78 commit b507683
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 7 deletions.
16 changes: 16 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ jobs:
- name: Setup Environment
run: |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
sudo apt-get update
sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.packages }}
fi
if [[ ${{ matrix.config.os }} = macos* ]]; then
Expand All @@ -146,6 +147,12 @@ jobs:
key: ${{ runner.os }}-cmake-${{ matrix.config.name }}-ccache
restore-keys: ${{ runner.os }}-cmake-${{ matrix.config.name }}-ccache

- name: Set Xcode Version
if: matrix.config.os == 'macos-14'
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.0.1'

- name: Configure CMake Wallet
run: |
CC=${{ matrix.config.cc }}
Expand Down Expand Up @@ -252,6 +259,7 @@ jobs:
- name: Setup Environment
run: |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
sudo apt-get update
sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.packages }}
fi
if [[ ${{ matrix.config.os }} = macos* ]]; then
Expand All @@ -266,6 +274,12 @@ jobs:
key: ${{ runner.os }}-${{ matrix.config.id }}-native-ccache
restore-keys: ${{ runner.os }}-${{ matrix.config.id }}-native-ccache

- name: Set Xcode Version
if: matrix.config.os == 'macos-14'
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.0.1'

- name: Configure Native Wallet
run: |
PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
Expand Down Expand Up @@ -394,6 +408,7 @@ jobs:
- name: Setup Environment
run: |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
sudo apt-get update
sudo apt-get install --no-install-recommends --no-upgrade -qq ${{ matrix.config.packages }}
fi
if [[ ${{ matrix.config.os }} = macos* ]]; then
Expand Down Expand Up @@ -775,6 +790,7 @@ jobs:
run: |
if [[ ${{ matrix.config.packages }} != None ]]; then
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
sudo apt-get update
sudo apt-get install --no-install-recommends --no-upgrade -qq ${{ matrix.config.packages }}
fi
if [[ ${{ matrix.config.os }} = macos* ]]; then
Expand Down
3 changes: 1 addition & 2 deletions build-aux/m4/bitcoin_qt.m4
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,6 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)],[-lqxcb -lxcb-static])
AC_DEFINE([QT_QPA_PLATFORM_XCB], [1], [Define this symbol if the Qt platform is XCB])
elif test "x$TARGET_OS" = xdarwin; then
AX_CHECK_LINK_FLAG([-framework IOKit], [QT_LIBS="$QT_LIBS -framework IOKit"], [AC_MSG_ERROR([could not link iokit framework])])
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)],[-lqcocoa])
AC_DEFINE([QT_QPA_PLATFORM_COCOA], [1], [Define this symbol if the Qt platform is Cocoa])
fi
Expand Down Expand Up @@ -204,7 +203,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
*darwin*)
BITCOIN_QT_CHECK([
MOC_DEFS="${MOC_DEFS} -DQ_OS_MAC"
base_frameworks="-framework Foundation -framework ApplicationServices -framework AppKit"
base_frameworks="-framework Foundation -framework AppKit"
AX_CHECK_LINK_FLAG([$base_frameworks], [QT_LIBS="$QT_LIBS $base_frameworks"], [AC_MSG_ERROR([could not find base frameworks])])
])
;;
Expand Down
5 changes: 0 additions & 5 deletions src/qt/notificator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,8 @@
#include <QtDBus>
#include <stdint.h>
#endif
// Include ApplicationServices.h after QtDbus to avoid redefinition of check().
// This affects at least OSX 10.6. See /usr/include/AssertMacros.h for details.
// Note: This could also be worked around using:
// #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
#ifdef Q_OS_MAC
#include "macnotificationhandler.h"
#include <ApplicationServices/ApplicationServices.h>
#endif


Expand Down

0 comments on commit b507683

Please sign in to comment.