Skip to content

Commit

Permalink
ci: deduplicate macOS SDK setup logic
Browse files Browse the repository at this point in the history
  • Loading branch information
kwvg committed Nov 21, 2024
1 parent 11bf0e3 commit f42bf34
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 28 deletions.
19 changes: 2 additions & 17 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,26 +40,11 @@ builder-image:
needs:
- builder-image
image: $CI_REGISTRY_IMAGE:builder-$CI_COMMIT_REF_SLUG
variables:
SDK_URL: https://bitcoincore.org/depends-sources/sdks
XCODE_VERSION: "15.0"
XCODE_BUILD_ID: 15A240d
before_script:
- echo HOST=$HOST
- |
echo HOST=${HOST}
if [ "$HOST" = "x86_64-apple-darwin" ]; then
mkdir -p depends/SDKs
mkdir -p depends/sdk-sources
OSX_SDK_BASENAME="Xcode-${XCODE_VERSION}-${XCODE_BUILD_ID}-extracted-SDK-with-libcxx-headers.tar.gz"
OSX_SDK_PATH="depends/sdk-sources/${OSX_SDK_BASENAME}"
if [ ! -f "$OSX_SDK_PATH" ]; then
echo "Downloading MacOS SDK"
curl --location --fail "${SDK_URL}/${OSX_SDK_BASENAME}" -o "$OSX_SDK_PATH"
fi
if [ -f "$OSX_SDK_PATH" ]; then
echo "Extracting MacOS SDK"
tar -C depends/SDKs -xf "$OSX_SDK_PATH"
fi
./ci/dash/setup_sdk.sh
fi
script:
- make -j$(nproc) -C depends HOST=$HOST $DEP_OPTS
Expand Down
13 changes: 2 additions & 11 deletions ci/dash/build_depends.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,8 @@ mkdir -p $CACHE_DIR/sdk-sources
ln -s $CACHE_DIR/depends ${DEPENDS_DIR}/built
ln -s $CACHE_DIR/sdk-sources ${DEPENDS_DIR}/sdk-sources

mkdir -p ${DEPENDS_DIR}/SDKs

if [ -n "$XCODE_VERSION" ]; then
OSX_SDK_BASENAME="Xcode-${XCODE_VERSION}-${XCODE_BUILD_ID}-extracted-SDK-with-libcxx-headers.tar.gz"
OSX_SDK_PATH="${DEPENDS_DIR}/sdk-sources/${OSX_SDK_BASENAME}"
if [ ! -f "$OSX_SDK_PATH" ]; then
curl --location --fail "${SDK_URL}/${OSX_SDK_BASENAME}" -o "$OSX_SDK_PATH"
fi
if [ -f "$OSX_SDK_PATH" ]; then
tar -C ${DEPENDS_DIR}/SDKs -xf "$OSX_SDK_PATH"
fi
if [ "${HOST}" = "x86_64-apple-darwin" ]; then
./ci/dash/setup_sdk.sh
fi

make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
24 changes: 24 additions & 0 deletions ci/dash/setup_sdk.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
# Copyright (c) 2024 The Dash Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C.UTF-8

SDK_URL="${SDK_URL:-https://bitcoincore.org/depends-sources/sdks}"
SDK_PATH="${SDK_PATH:-depends/SDKs}"
SDK_SRCS="${SDK_SOURCES:-depends/sdk-sources}"
XCODE_VERSION="${XCODE_VERSION:-15.0}"
XCODE_RELEASE="${XCODE_RELEASE:-15A240d}"
XCODE_ARCHIVE="Xcode-${XCODE_VERSION}-${XCODE_RELEASE}-extracted-SDK-with-libcxx-headers"
XCODE_PATH="${SDK_SRCS}/${XCODE_ARCHIVE}"

mkdir -p "${SDK_PATH}" "${SDK_SRCS}"
if [ ! -f "${XCODE_PATH}" ]; then
echo "Downloading macOS SDK..."
curl --location --fail "${SDK_URL}/${XCODE_ARCHIVE}.tar.gz" -o "${XCODE_PATH}"
fi
if [ -f "${XCODE_PATH}" ] && [ ! -d "${SDK_PATH}/${XCODE_ARCHIVE}" ]; then
echo "Extracting macOS SDK..."
tar -C "${SDK_PATH}" -xf "${XCODE_PATH}"
fi

0 comments on commit f42bf34

Please sign in to comment.