forked from lxc/lxc
-
Notifications
You must be signed in to change notification settings - Fork 7
82 lines (70 loc) · 3.6 KB
/
code-test.yml
File metadata and controls
82 lines (70 loc) · 3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
name: Tests
on:
- pull_request
jobs:
build:
runs-on: ubuntu-latest
name: Build test
steps:
- uses: actions/checkout@v4
- name: Set up Android NDK
uses: nttld/setup-ndk@v1
with:
ndk-version: r28c
- name: Install dependencies
run: |
sudo apt-get install -y -qq build-essential pipx python3-venv pkg-config cmake docbook2x \
python3-pip pipx
pipx ensurepath
pipx install meson==0.61
pipx install ninja
- name: Download Dependencies
run: |
libssl=$(curl -s https://api.github.com/repos/android-dev-stub/libssl-android-stub-dev/releases/latest | grep browser_download_url | cut -d'"' -f4 |grep -E 'zip$')
libssl_file=$(curl -s https://api.github.com/repos/android-dev-stub/libssl-android-stub-dev/releases/latest | grep name | cut -d'"' -f4 |grep -E 'zip$')
wget -q ${libssl} && sudo unzip -q -o ${libssl_file} -d / && echo 1/4 ${libssl} ${libssl_file}
libcap=$(curl -s https://api.github.com/repos/android-dev-stub/libcap-android-stub-dev/releases/latest | grep browser_download_url | cut -d'"' -f4 |grep -E 'zip$')
libcap_file=$(curl -s https://api.github.com/repos/android-dev-stub/libcap-android-stub-dev/releases/latest | grep name | cut -d'"' -f4 |grep -E 'zip$')
wget -q ${libcap} && sudo unzip -q -o ${libcap_file} -d / && echo 2/4 ${libcap} ${libcap_file}
libselinux=$(curl -s https://api.github.com/repos/android-dev-stub/libselinux-android-stub-dev/releases/latest | grep browser_download_url | cut -d'"' -f4 |grep -E 'zip$')
libselinux_file=$(curl -s https://api.github.com/repos/android-dev-stub/libselinux-android-stub-dev/releases/latest | grep name | cut -d'"' -f4 |grep -E 'zip$')
wget -q ${libselinux} && sudo unzip -q -o ${libselinux_file} -d / && echo 3/4 ${libselinux} ${libselinux_file}
libminijail=$(curl -s https://api.github.com/repos/android-dev-stub/libminijail-dev/releases/latest | grep browser_download_url | cut -d'"' -f4 |grep -E 'zip$')
libminijail_file=$(curl -s https://api.github.com/repos/android-dev-stub/libminijail-dev/releases/latest | grep name | cut -d'"' -f4 |grep -E 'zip$')
wget -q ${libminijail} && sudo unzip -q -o ${libminijail_file} -d / && echo 4/4 ${libminijail} ${libminijail_file}
- name: Test build
run: |
sed -i "s|android-ndk-r27c|$ANDROID_NDK_HOME|g" aarch64-android-api30.txt
export PKG_CONFIG_PATH=/data/sysroot/lib/pkgconfig:$PKG_CONFIG_PATH
export LDFLAGS="-L/data/sysroot/lib -lcap -lselinux -lminijail -lssl"
meson setup build \
-Dprefix=/data/share \
-Dinit-script=module \
-Druntime-path=/data/share/tmp \
-Dstrip=true \
-Dd_lto=true \
-Db_pie=false \
-Dlog-path=log/lxc \
-Ddata-path=lib/lxc \
--localstatedir=/data/share/var \
-Dmemfd-rexec=true \
--buildtype debug \
-Dcapabilities=true \
-Dseccomp=false \
-Dseccomp-minijail=true \
-Dselinux=true \
-Dapparmor=false \
-Dopenssl=true \
-Ddbus=false \
-Dandroid-log=true \
-Dandroid-audio=true \
-Dandroid-network=true \
-Dlandlock-monitor=true \
--cross-file aarch64-android-api30.txt
meson compile -C build
sudo /usr/local/bin/ninja -C build install
- name: Upload artifacts lxc
uses: actions/upload-artifact@v4.3.1
with:
name: android-aarch64-lxc-shared-api30
path: /data/share/*