-
Notifications
You must be signed in to change notification settings - Fork 4
133 lines (118 loc) · 4.58 KB
/
ubuntu_build.yml
File metadata and controls
133 lines (118 loc) · 4.58 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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
name: ubuntu build workflows
on:
push:
branches:
- develop
paths:
- 'XEngine_Source/**'
- 'XEngine_Release/**'
- '.github/**'
permissions:
contents: read
jobs:
build:
strategy:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: ubuntu-22.04-arm
- os: ubuntu-24.04-arm
runs-on: ${{ matrix.os }}
steps:
# 检出您的主仓库代码
- name: Checkout main repository code
uses: actions/checkout@v4
with:
ref: 'develop'
# 检出依赖的xengine仓库到指定的xengine目录
- name: Checkout dependency repository (xengine)
uses: actions/checkout@v4
with:
repository: libxengine/libxengine
path: libxengine
- name: sub module checkout (opensource)
run: |
git submodule init
git submodule update
- name: install library
run: sudo apt install libsrt-gnutls-dev libsrtp2-dev -y
- name: Set TERM variable
run: echo "TERM=xterm" >> $GITHUB_ENV
- name: Set up Dependency ubuntu24.04 x86-64 Environment
if: matrix.os == 'ubuntu-24.04'
run: |
cd libxengine
chmod 777 *
sudo ./XEngine_LINEnv.sh -i 3
- name: Set up Dependency ubuntu22.04 x86-64 Environment
if: matrix.os == 'ubuntu-22.04'
run: |
latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_UBuntu_22.04_x86-64.zip
unzip ./XEngine_UBuntu_22.04_x86-64.zip -d ./XEngine_UBuntu_22.04_x86-64
cd XEngine_UBuntu_22.04_x86-64
chmod 777 *
sudo ./XEngine_LINEnv.sh -i 3
- name: Set up Dependency ubuntu22.04 Arm64 Environment
if: matrix.os == 'ubuntu-22.04-arm'
run: |
latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_UBuntu_22.04_Arm64.zip
unzip ./XEngine_UBuntu_22.04_Arm64.zip -d ./XEngine_UBuntu_22.04_Arm64
cd XEngine_UBuntu_22.04_Arm64
chmod 777 *
sudo ./XEngine_LINEnv.sh -i 3
- name: Set up Dependency ubuntu24.04 Arm64 Environment
if: matrix.os == 'ubuntu-24.04-arm'
run: |
latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_UBuntu_24.04_Arm64.zip
unzip ./XEngine_UBuntu_24.04_Arm64.zip -d ./XEngine_UBuntu_24.04_Arm64
cd XEngine_UBuntu_24.04_Arm64
chmod 777 *
sudo ./XEngine_LINEnv.sh -i 3
- name: make
run: |
cd XEngine_Source
make
make FLAGS=InstallAll
make FLAGS=CleanAll
make RELEASE=1
make FLAGS=InstallAll
make FLAGS=CleanAll
cd ..
- name: test
run: |
cd XEngine_Release
./XEngine_StreamMediaApp -t
- name: Upload folder as artifact with ubuntu22.04-x86-64
if: matrix.os == 'ubuntu-22.04'
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-Ubuntu_22.04_x86_64
path: XEngine_Release/
retention-days: 1
- name: Upload folder as artifact with ubuntu24.04-x86-64
if: matrix.os == 'ubuntu-24.04'
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-Ubuntu_24.04_x86_64
path: XEngine_Release/
retention-days: 1
- name: Upload folder as artifact with ubuntu22.04-arm
if: matrix.os == 'ubuntu-22.04-arm'
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-Ubuntu_22.04_Arm64
path: XEngine_Release/
retention-days: 1
- name: Upload folder as artifact with ubuntu24.04-arm
if: matrix.os == 'ubuntu-24.04-arm'
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-Ubuntu_24.04_Arm64
path: XEngine_Release/
retention-days: 1