-
Notifications
You must be signed in to change notification settings - Fork 24
94 lines (94 loc) · 2.84 KB
/
build.yml
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
82
83
84
85
86
87
88
89
90
91
92
93
94
name: Build
on: [push, pull_request]
permissions: {}
jobs:
build:
strategy:
matrix:
include:
- arch: x86_64
target_abi: gnu
packages: gcc-multilib
target_os: linux
runner: ubuntu-22.04
- arch: i686
target_abi: gnu
packages: gcc-multilib
target_os: linux
runner: ubuntu-22.04
- arch: aarch64
target_abi: gnu
packages: gcc-aarch64-linux-gnu
target_os: linux
runner: ubuntu-22.04
- arch: armv7
target_abi: gnueabihf
packages: gcc-arm-linux-gnueabihf
target_os: linux
runner: ubuntu-22.04
- arch: armv5
target_abi: gnueabi
packages: gcc-arm-linux-gnueabi
target_os: linux
runner: ubuntu-22.04
- arch: x86_64
target_abi: darwin
target_os: macos
runner: macos-12
- arch: aarch64
target_abi: darwin
target_os: macos
runner: macos-12
- arch: aarch64
target_abi: ios
target_os: macos
runner: macos-12
- arch: x86_64
target_abi: android
target_os: android
runner: ubuntu-22.04
- arch: i686
target_abi: android
target_os: android
runner: ubuntu-22.04
- arch: aarch64
target_abi: android
target_os: android
runner: ubuntu-22.04
- arch: armv7
target_abi: androideabi
target_os: android
runner: ubuntu-22.04
- arch: x86_64
target_abi: msvc
target_os: windows
runner: windows-2022
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v3
with:
path: libtelio
- name: Install packages
run: sudo apt-get update && sudo apt-get install ${{ matrix.packages }}
if: ${{ matrix.target_os == 'linux' }}
- name: Install NDK
run: ./libtelio/ci/setup_ndk.sh
if: ${{ matrix.target_os == 'android' }}
- name: Setup MSVC
uses: egor-tensin/vs-shell@v2
if: ${{ matrix.target_os == 'windows' }}
- name: Build libtelio
run: python3 libtelio/ci/build_libtelio.py build ${{ matrix.target_os }} ${{ matrix.arch }}
- name: Test FFI
run: |
cd libtelio/ffi/tests
mkdir build
cd build
cmake ..
make
sudo ./test_panic
if: ${{ matrix.target_os == 'linux' && matrix.arch == 'x86_64'}}
- uses: actions/upload-artifact@v3
with:
name: libtelio-build-${{ matrix.target_os }}-${{ matrix.arch }}-${{ matrix.target_abi }}
path: libtelio/dist/