Build Android image #48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Docker images | |
on: [pull_request] | |
env: | |
ghprbPullId: ${{ github.event.number }} | |
ghprbGhRepository: ${{ github.repository_owner }}/${{ github.event.repository.name }} | |
jobs: | |
build: | |
name: Build Docker images | |
runs-on: ubuntu-latest | |
if: false | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Build Docker images | |
run: ./ci_test.py | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: docker-logs | |
path: | | |
*.log | |
static-linux-build: | |
name: Build Static Linux image | |
runs-on: ubuntu-latest | |
if: false | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Build Docker images | |
working-directory: swift-ci/sdks/static-linux | |
run: ./build | |
android-build: | |
#name: Build Android ${{ matrix.arch }} SDK | |
#strategy: | |
#fail-fast: false | |
#matrix: | |
# arch: [armv7,aarch64,x86_64] | |
name: Build Android SDK | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Build Android SDK | |
working-directory: swift-ci/sdks/android | |
run: | | |
sudo apt install -q ninja-build | |
# build all architectures | |
#./build | |
# just build x86_64 for testing | |
TARGET_ARCHS=x86_64 ./build | |
# build arch specified by the matrix | |
#TARGET_ARCHS=${{ matrix.arch }} ./build | |
- name: Get artifact info | |
id: paths | |
run: | | |
echo "swift-path=$(ls ${{ runner.temp }}/swift-android-sdk/host-toolchain/*/usr/bin/swift)" >> $GITHUB_OUTPUT | |
echo "artifact-name=$(basename ${{ runner.temp }}/swift-android-sdk/products/*.artifactbundle.tar.gz)" >> $GITHUB_OUTPUT | |
echo "artifact-path=$(realpath ${{ runner.temp }}/swift-android-sdk/products/*.artifactbundle.tar.gz)" >> $GITHUB_OUTPUT | |
- name: Upload SDK artifactbundle | |
uses: actions/upload-artifact@v4 | |
with: | |
compression-level: 0 | |
name: ${{ steps.paths.outputs.artifact-name }} | |
path: ${{ steps.paths.outputs.artifact-path }} | |
- name: Install SDK | |
run: | | |
${{ steps.paths.outputs.swift-path }} sdk install ${{ steps.paths.outputs.artifact-path }} | |
${{ steps.paths.outputs.swift-path }} sdk configure --show-configuration $(${{ steps.paths.outputs.swift-path }} sdk list | head -n 1) x86_64-unknown-linux-android | |
- name: Build Demo Project | |
run: | | |
cd ${{ runner.temp }} | |
mkdir DemoProject | |
cd DemoProject | |
${{ steps.paths.outputs.swift-path }} --version | |
${{ steps.paths.outputs.swift-path }} package init | |
#echo 'import Foundation' >> Sources/DemoProject/DemoProject.swift | |
#echo 'import FoundationEssentials' >> Sources/DemoProject/DemoProject.swift | |
#echo 'import FoundationXML' >> Sources/DemoProject/DemoProject.swift | |
#echo 'import FoundationNetworking' >> Sources/DemoProject/DemoProject.swift | |
#echo 'import Dispatch' >> Sources/DemoProject/DemoProject.swift | |
#echo 'import Android' >> Sources/DemoProject/DemoProject.swift | |
#${{ steps.paths.outputs.swift-path }} build --build-tests --swift-sdk x86_64-unknown-linux-android | |
${{ steps.paths.outputs.swift-path }} build --swift-sdk x86_64-unknown-linux-android | |
- name: Build swift-algorithms | |
# TODO: fix <unknown>:0: error: missing required module 'SwiftAndroid' | |
if: false | |
run: | | |
cd ${{ runner.temp }} | |
git clone https://github.com/apple/swift-algorithms.git | |
cd swift-algorithms | |
${{ steps.paths.outputs.swift-path }} build --build-tests --swift-sdk x86_64-unknown-linux-android | |
- name: Test Swift Package on Android | |
# TODO: need to implement installed-sdk option in swift-android-action | |
if: false | |
uses: skiptools/swift-android-action@main | |
with: | |
package-path: ${{ runner.temp }}/DemoProject | |
installed-sdk: x86_64-unknown-linux-android | |
installed-swift: ${{ steps.paths.outputs.swift-path }} | |