Skip to content

Commit 5e1a3b6

Browse files
committed
add apple-android-common workflow
1 parent 03c3e96 commit 5e1a3b6

File tree

2 files changed

+143
-0
lines changed

2 files changed

+143
-0
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# https://github.com/actions/runner-images
2+
3+
on:
4+
# push:
5+
# branches: [master]
6+
workflow_dispatch:
7+
inputs:
8+
os:
9+
description: 'macos version'
10+
required: false
11+
default: 'macos-latest-large'
12+
options:
13+
- macos-13
14+
- macos-14
15+
- macos-15
16+
platform:
17+
description: 'choose a platform for compile'
18+
required: false
19+
default: 'all'
20+
options:
21+
- ios
22+
- tvos
23+
- macos
24+
- android
25+
- all
26+
lib:
27+
description: 'choose a lib for compile'
28+
required: true
29+
default: 'ffmpeg'
30+
options:
31+
- ass
32+
- bluray
33+
- dav1d
34+
- dvdread
35+
- ffmpeg
36+
- harfbuzz
37+
- fontconfig
38+
- freetype
39+
- fribidi
40+
- openssl
41+
- opus
42+
- smb2
43+
- soundtouch
44+
- uavs3d
45+
- unibreak
46+
- yuv
47+
pull_request:
48+
branches: [master]
49+
50+
name: apple-android-common
51+
52+
jobs:
53+
build:
54+
name: compile ${{ inputs.lib }} for ${{ inputs.platform }} then deploy
55+
runs-on: ${{ inputs.os }}
56+
env:
57+
GH_TOKEN: ${{ github.token }}
58+
steps:
59+
- uses: nttld/setup-ndk@v1
60+
id: setup-ndk
61+
with:
62+
ndk-version: r21e
63+
add-to-path: false
64+
local-cache: true
65+
- name: Checkout code
66+
uses: actions/checkout@v4
67+
- name: Install denpendencies
68+
run: .github/workflows/install-denpendencies.sh ${{ inputs.lib }} ${{ inputs.platform }}
69+
- name: One Step
70+
run: .github/workflows/onestep.sh ${{ inputs.lib }} ${{ inputs.platform }}
71+
env:
72+
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
#!/bin/zsh
2+
3+
set -e
4+
5+
export LIB_NAME=$1
6+
export PLAT=$2
7+
8+
case LIB_NAME in
9+
ass)
10+
if [[ $PLAT == all ]];then
11+
./main.sh install -l 'harfbuzz fribidi unibreak' -p ios
12+
./main.sh install -l 'harfbuzz fribidi unibreak' -p tvos
13+
./main.sh install -l 'harfbuzz fribidi unibreak' -p macos
14+
./main.sh install -l 'harfbuzz fribidi unibreak fontconfig' -p android
15+
else
16+
./main.sh install -l 'harfbuzz fribidi unibreak' -p $PLAT
17+
fi
18+
;;
19+
bluray)
20+
if [[ $PLAT == android || $PLAT == all ]];then
21+
./main.sh install -p android -l 'fontconfig'
22+
fi
23+
;;
24+
dav1d)
25+
;;
26+
dvdread)
27+
;;
28+
ffmpeg)
29+
if [[ $PLAT == all ]];then
30+
./main.sh install -l 'openssl opus dav1d dvdread uavs3d smb2 bluray' -p ios
31+
./main.sh install -l 'openssl opus dav1d dvdread uavs3d smb2 bluray' -p tvos
32+
./main.sh install -l 'openssl opus dav1d dvdread uavs3d smb2 bluray' -p macos
33+
./main.sh install -l 'openssl opus dav1d dvdread uavs3d smb2 bluray' -p android
34+
else
35+
./main.sh install -l 'openssl opus dav1d dvdread uavs3d smb2 bluray' -p $PLAT
36+
fi
37+
;;
38+
harfbuzz)
39+
if [[ $PLAT == all ]];then
40+
./main.sh install -l 'freetype' -p ios
41+
./main.sh install -l 'freetype' -p tvos
42+
./main.sh install -l 'freetype' -p macos
43+
./main.sh install -l 'freetype' -p android
44+
else
45+
./main.sh install -l 'freetype' -p $PLAT
46+
fi
47+
;;
48+
fontconfig)
49+
if [[ $PLAT == android || $PLAT == all ]];then
50+
./main.sh install -p android -l 'freetype'
51+
fi
52+
;;
53+
freetype)
54+
;;
55+
fribidi)
56+
;;
57+
openssl)
58+
;;
59+
opus)
60+
;;
61+
smb2)
62+
;;
63+
soundtouch)
64+
;;
65+
uavs3d)
66+
;;
67+
unibreak)
68+
;;
69+
yuv)
70+
;;
71+
esac

0 commit comments

Comments
 (0)