diff --git a/swift-ci/sdks/static-linux/build b/swift-ci/sdks/static-linux/build index 6e984960..ed23bc2c 100755 --- a/swift-ci/sdks/static-linux/build +++ b/swift-ci/sdks/static-linux/build @@ -22,7 +22,7 @@ case $(arch) in arm64|aarch64) OS_ARCH_SUFFIX=-aarch64 ;; - amd64|x86_64) + i386|amd64|x86_64) OS_ARCH_SUFFIX= ;; *) @@ -32,7 +32,7 @@ case $(arch) in esac # Build the Docker image -$DOCKER build --build-arg OS_ARCH_SUFFIX=$OS_ARCH_SUFFIX -t static-swift-linux . +$DOCKER build $DOCKER_EXTRA_ARGS --build-arg OS_ARCH_SUFFIX=$OS_ARCH_SUFFIX -t static-swift-linux . # Check-out the sources scripts/fetch-source.sh --clone-with-ssh --source-dir source @@ -43,5 +43,6 @@ mkdir -p products $DOCKER run -it --rm \ -v ./source:/source \ -v ./products:/products \ + -m 10G \ static-swift-linux \ /scripts/build.sh --source-dir /source --products-dir /products diff --git a/swift-ci/sdks/static-linux/scripts/build.sh b/swift-ci/sdks/static-linux/scripts/build.sh index b7da4346..002fd226 100755 --- a/swift-ci/sdks/static-linux/scripts/build.sh +++ b/swift-ci/sdks/static-linux/scripts/build.sh @@ -926,3 +926,27 @@ quiet_pushd "${build_dir}" mkdir -p "${products_dir}" tar cvzf "${products_dir}/${bundle}.tar.gz" "${bundle}" quiet_popd + +header "Install SDK" +swift sdk install "${products_dir}/${bundle}.tar.gz" + +header "Build Hello World" +quiet_pushd "${build_dir}" +mkdir -p hello-world +cd hello-world +swift package init --type executable +for arch in $archs; do + swift build --swift-sdk ${arch}-swift-linux-musl +done +quiet_popd + +header "Run Hello World" +quiet_pushd "${build_dir}/hello-world" +native_arch=$(uname -p) +native_binary=.build/${native_arch}-swift-linux-musl/debug/hello-world +if [[ -x "${native_binary}" ]]; then + "${native_binary}" +else + echo "No binary for ${native_arch}" +fi +quiet_popd