Skip to content

Commit 6f79e4c

Browse files
committed
1 parent f5ad6af commit 6f79e4c

File tree

2 files changed

+21
-16
lines changed

2 files changed

+21
-16
lines changed

swift-ci/sdks/android/build-docker

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,19 @@ TARGET_ARCHS=${TARGET_ARCHS:-aarch64,x86_64,armv7}
1111

1212
ANDROID_NDK_VERSION=android-ndk-r27c
1313
ANDROID_API=28
14+
15+
# note that WORKDIR must not be under the current checkout or the patches will fail to apply
16+
WORKDIR=${RUNNER_TEMP:-${TMPDIR:-'/tmp'}}/swift-android-sdk
17+
mkdir -p ${WORKDIR}
18+
1419
HOST_OS=ubuntu24.04
1520
source ./scripts/toolchain-vars.sh
1621

1722
# Check-out and patch the sources
18-
./scripts/fetch-source.sh --source-dir ${PWD}/source --swift-tag ${SWIFT_TAG}
19-
./scripts/patch-sources.sh ${PWD}/source
23+
./scripts/fetch-source.sh --source-dir ${WORKDIR}/source --swift-tag ${SWIFT_TAG}
24+
./scripts/patch-sources.sh ${WORKDIR}/source
2025

21-
mkdir -p products
26+
mkdir -p ${WORKDIR}/products
2227

2328
if [[ "$DOCKER" == "" ]]; then
2429
DOCKER=docker
@@ -43,8 +48,8 @@ CONTAINER_NAME="swift-android"
4348
$DOCKER build --build-arg OS_ARCH_SUFFIX=$OS_ARCH_SUFFIX --build-arg SWIFT_TOOLCHAIN_URL=$SWIFT_TOOLCHAIN_URL --build-arg ANDROID_NDK_VERSION=$ANDROID_NDK_VERSION -t ${CONTAINER_NAME} .
4449

4550
$DOCKER run -i --rm \
46-
-v ./source:/source \
47-
-v ./products:/products \
51+
-v ${WORKDIR}/source:/source \
52+
-v ${WORKDIR}/products:/products \
4853
${CONTAINER_NAME} \
4954
/scripts/build.sh \
5055
--source-dir /source \

swift-ci/sdks/android/build-local

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ TARGET_ARCHS=${TARGET_ARCHS:-aarch64,x86_64,armv7}
1212
ANDROID_NDK_VERSION=android-ndk-r27c
1313
ANDROID_API=28
1414

15-
SDKROOT=${RUNNER_TEMP:-${TMPDIR:-'/tmp'}}/swift-android-sdk
16-
mkdir -p ${SDKROOT}
15+
# note that WORKDIR must not be under the current checkout or the patches will fail to apply
16+
WORKDIR=${RUNNER_TEMP:-${TMPDIR:-'/tmp'}}/swift-android-sdk
17+
mkdir -p ${WORKDIR}
1718

18-
# Install a Swift host toolchain if it isn't already present
1919
HOST_OS=ubuntu$(lsb_release -sr)
2020
source ./scripts/toolchain-vars.sh
2121

22-
SWIFT_ROOT=${SDKROOT}/host-toolchain
22+
SWIFT_ROOT=${WORKDIR}/host-toolchain
2323
if [[ ! -d "$SWIFT_ROOT/$SWIFT_BASE" ]]; then
2424
mkdir -p $SWIFT_ROOT
2525
pushd $SWIFT_ROOT
@@ -37,7 +37,7 @@ $HOST_TOOLCHAIN/bin/swift --version
3737
# ensure the correct Swift is first in the PATH
3838
export PATH=$HOST_TOOLCHAIN/bin:$PATH
3939

40-
export ANDROID_NDK_HOME=${SDKROOT}/ndk/${ANDROID_NDK_VERSION}
40+
export ANDROID_NDK_HOME=${WORKDIR}/ndk/${ANDROID_NDK_VERSION}
4141

4242
if [[ ! -d ${ANDROID_NDK_HOME} ]]; then
4343
mkdir -p $(dirname ${ANDROID_NDK_HOME})
@@ -50,15 +50,15 @@ fi
5050

5151

5252
# Check-out and patch the sources
53-
./scripts/fetch-source.sh --source-dir ${SDKROOT}/source --swift-tag ${SWIFT_TAG}
54-
./scripts/patch-sources.sh ${SDKROOT}/source
53+
./scripts/fetch-source.sh --source-dir ${WORKDIR}/source --swift-tag ${SWIFT_TAG}
54+
./scripts/patch-sources.sh ${WORKDIR}/source
5555

56-
mkdir -p ${SDKROOT}/products
56+
mkdir -p ${WORKDIR}/products
5757

5858
./scripts/build.sh \
59-
--source-dir ${SDKROOT}/source \
60-
--products-dir ${SDKROOT}/products \
61-
--build-dir ${SDKROOT}/build \
59+
--source-dir ${WORKDIR}/source \
60+
--products-dir ${WORKDIR}/products \
61+
--build-dir ${WORKDIR}/build \
6262
--host-toolchain ${HOST_TOOLCHAIN} \
6363
--android-api ${ANDROID_API} \
6464
--ndk-home ${ANDROID_NDK_HOME} \

0 commit comments

Comments
 (0)