Skip to content

Commit a8ebb6c

Browse files
committed
Android SDK build
1 parent e6a2b92 commit a8ebb6c

File tree

2 files changed

+46
-22
lines changed

2 files changed

+46
-22
lines changed

.github/workflows/pull_request.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ jobs:
4949
working-directory: swift-ci/sdks/android
5050
run: |
5151
sudo apt install ninja-build
52-
#TARGET_ARCHS=${{ matrix.arch }} ./build
5352
./build
53+
#TARGET_ARCHS=${{ matrix.arch }} ./build
54+
- name: Upload SDK artifactbundle
55+
uses: actions/upload-artifact@v4
56+
with:
57+
compression-level: 0
58+
path: $RUNNER_TEMP/swift-android-sdk/products/*.artifactbundle.tar.gz
5459

swift-ci/sdks/android/scripts/build.sh

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,20 @@ function header {
3434
echo ""
3535
}
3636

37+
function groupstart {
38+
local text="$1"
39+
if [[ ! -z "$CI" ]]; then
40+
echo "::group::{${text}}"
41+
fi
42+
header $text
43+
}
44+
45+
function groupend {
46+
if [[ ! -z "$CI" ]]; then
47+
echo "::endgroup::"
48+
fi
49+
}
50+
3751
function usage {
3852
cat <<EOF
3953
usage: build.sh --source-dir <path> --products-dir <path> --ndk-home <path> --host-toolchain <path>
@@ -225,7 +239,7 @@ function run() {
225239

226240
for arch in $archs; do
227241
# enable short-circuiting the individual builds
228-
if [[ ! -z "$SKIP_ARCH_BUILD" ]]; then
242+
if [[ ! -z "$SWIFT_ANDROID_ARCHIVEONLY" ]]; then
229243
continue
230244
fi
231245

@@ -240,7 +254,7 @@ for arch in $archs; do
240254
sdk_root=${build_dir}/sdk_root/${arch}
241255
mkdir -p "$sdk_root"
242256

243-
header "Building libxml2 for $arch"
257+
groupstart "Building libxml2 for $arch"
244258
quiet_pushd ${source_dir}/libxml2
245259
run cmake \
246260
-G Ninja \
@@ -269,8 +283,9 @@ for arch in $archs; do
269283
run ninja -j$parallel_jobs install
270284
quiet_popd
271285
quiet_popd
286+
groupend
272287

273-
header "Building boringssl for ${compiler_target_host}"
288+
groupstart "Building boringssl for ${compiler_target_host}"
274289
quiet_pushd ${source_dir}/boringssl
275290
run cmake \
276291
-GNinja \
@@ -293,8 +308,9 @@ for arch in $archs; do
293308
run ninja -j$parallel_jobs install
294309
quiet_popd
295310
quiet_popd
311+
groupend
296312

297-
header "Building libcurl for ${compiler_target_host}"
313+
groupstart "Building libcurl for ${compiler_target_host}"
298314
quiet_pushd ${source_dir}/curl
299315
run cmake \
300316
-G Ninja \
@@ -329,8 +345,9 @@ for arch in $archs; do
329345
run ninja -j$parallel_jobs install
330346
quiet_popd
331347
quiet_popd
348+
groupend
332349

333-
header "Building Android SDK for ${compiler_target_host}"
350+
groupstart "Building Android SDK for ${compiler_target_host}"
334351
quiet_pushd ${source_dir}/swift-project
335352
build_type_flag="--debug"
336353
case $build_type in
@@ -375,18 +392,20 @@ for arch in $archs; do
375392
#--clean-install-destdir \
376393
#--clean \
377394
quiet_popd
378-
379-
header "Completed build for $arch in $sdk_root"
395+
groupend
380396
done
381397

382398
# Now generate the bundle
383-
header "Bundling SDK"
399+
groupstart "Bundling SDK"
400+
401+
sdk_name=swift-${swift_version}-android-${android_api}-${android_sdk_version}
402+
#sdk_base=android-27c-sysroot
403+
sdk_base=swift-android
384404

385-
sdk_name=swift-${swift_version}_static-linux-${static_linux_sdk_version}
386405
bundle="${sdk_name}.artifactbundle"
387406

388407
rm -rf "${build_dir}/$bundle"
389-
mkdir -p "${build_dir}/$bundle/$sdk_name/swift-linux-musl"
408+
mkdir -p "${build_dir}/$bundle/$sdk_name/$sdk_base"
390409

391410
quiet_pushd ${build_dir}/$bundle
392411

@@ -398,7 +417,7 @@ cat > info.json <<EOF
398417
"$sdk_name": {
399418
"variants": [
400419
{
401-
"path": "$sdk_name/swift-linux-musl"
420+
"path": "$sdk_name/$sdk_base"
402421
}
403422
],
404423
"version": "0.0.1",
@@ -409,7 +428,7 @@ cat > info.json <<EOF
409428
EOF
410429

411430

412-
cd "$sdk_name/swift-linux-musl"
431+
cd "$sdk_name/$sdk_base"
413432

414433
cat > swift-sdk.json <<EOF
415434
{
@@ -427,7 +446,7 @@ for arch in $archs; do
427446
EOF
428447
fi
429448
cat >> swift-sdk.json <<EOF
430-
"${arch}-swift-linux-musl": {
449+
"${arch}-${sdk_base}": {
431450
"toolsetPaths": [
432451
"toolset.json"
433452
],
@@ -465,14 +484,14 @@ EOF
465484

466485
quiet_popd
467486

468-
#tree ${build_dir}/$bundle
469-
#tree $products_dir
487+
if [[ -z "$SWIFT_ANDROID_ARCHIVEONLY" ]]; then
488+
header "Outputting compressed bundle"
470489

471-
#header "Outputting compressed bundle"
472-
473-
#quiet_pushd "${build_dir}"
474-
#mkdir -p "${products_dir}"
475-
#tar cvzf "${products_dir}/${bundle}.tar.gz" "${bundle}"
476-
#quiet_popd
490+
quiet_pushd "${build_dir}"
491+
mkdir -p "${products_dir}"
492+
tar cvzf "${products_dir}/${bundle}.tar.gz" "${bundle}"
493+
quiet_popd
494+
fi
477495

496+
groupend
478497

0 commit comments

Comments
 (0)