1+ name : ubuntu build workflows
2+
3+ on :
4+ push :
5+ branches :
6+ - ' develop'
7+ paths :
8+ - ' XEngine_Source/**'
9+ - ' XEngine_Release/**'
10+ - ' .github/**'
11+
12+ jobs :
13+ build :
14+ strategy :
15+ fail-fast : false
16+ matrix :
17+ include :
18+ - os : ubuntu-22.04
19+ - os : ubuntu-24.04
20+ - os : ubuntu-22.04-arm
21+ - os : ubuntu-24.04-arm
22+ runs-on : ${{ matrix.os }}
23+
24+ steps :
25+ - name : Checkout main repository code
26+ uses : actions/checkout@v4
27+ with :
28+ ref : ' develop'
29+
30+ - name : Checkout dependency repository (xengine)
31+ uses : actions/checkout@v4
32+ with :
33+ repository : libxengine/libxengine
34+ path : libxengine
35+
36+ - name : sub module checkout (opensource)
37+ run : |
38+ git submodule init
39+ git submodule update
40+
41+ - name : Set TERM variable
42+ run : echo "TERM=xterm" >> $GITHUB_ENV
43+
44+ - name : Set up Dependency ubuntu24.04 x86-64 Environment
45+ if : matrix.os == 'ubuntu-24.04'
46+ run : |
47+ cd libxengine
48+ chmod 777 *
49+ sudo ./XEngine_LINEnv.sh -i 3
50+ - name : Set up Dependency ubuntu22.04 x86-64 Environment
51+ if : matrix.os == 'ubuntu-22.04'
52+ run : |
53+ latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
54+ wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_UBuntu_22.04_x86-64.zip
55+ unzip ./XEngine_UBuntu_22.04_x86-64.zip -d ./XEngine_UBuntu_22.04_x86-64
56+ cd XEngine_UBuntu_22.04_x86-64
57+
58+ chmod 777 *
59+ sudo ./XEngine_LINEnv.sh -i 3
60+ - name : Set up Dependency ubuntu22.04 arm Environment
61+ if : matrix.os == 'ubuntu-22.04-arm'
62+ run : |
63+ latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
64+ wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_UBuntu_22.04_Arm64.zip
65+ unzip ./XEngine_UBuntu_22.04_Arm64.zip -d ./XEngine_UBuntu_22.04_Arm64
66+ cd XEngine_UBuntu_22.04_Arm64
67+
68+ chmod 777 *
69+ sudo ./XEngine_LINEnv.sh -i 3
70+ - name : Set up Dependency ubuntu24.04 arm Environment
71+ if : matrix.os == 'ubuntu-24.04-arm'
72+ run : |
73+ latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
74+ wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_UBuntu_24.04_Arm64.zip
75+ unzip ./XEngine_UBuntu_24.04_Arm64.zip -d ./XEngine_UBuntu_24.04_Arm64
76+ cd XEngine_UBuntu_24.04_Arm64
77+
78+ chmod 777 *
79+ sudo ./XEngine_LINEnv.sh -i 3
80+ - name : make
81+ run : |
82+ cd XEngine_Source
83+ make
84+ make FLAGS=InstallAll
85+ make FLAGS=CleanAll
86+
87+ make RELEASE=1
88+ make FLAGS=InstallAll
89+ make FLAGS=CleanAll
90+ cd ..
91+ - name : test
92+ run : |
93+ cd XEngine_Release
94+ ./XEngine_ProxyServiceApp -t
95+
96+ - name : Upload folder as artifact with ubuntu22.04 x86-64
97+ if : matrix.os == 'ubuntu-22.04'
98+ uses : actions/upload-artifact@v4
99+ with :
100+ name : XEngine_ProxyServiceApp-Ubuntu_22.04_x86_64
101+ path : XEngine_Release/
102+ retention-days : 1
103+ - name : Upload folder as artifact with ubuntu24.04 x86-64
104+ if : matrix.os == 'ubuntu-24.04'
105+ uses : actions/upload-artifact@v4
106+ with :
107+ name : XEngine_ProxyServiceApp-Ubuntu_24.04_x86_64
108+ path : XEngine_Release/
109+ retention-days : 1
110+ - name : Upload folder as artifact with ubuntu22.04 Arm64
111+ if : matrix.os == 'ubuntu-22.04-arm'
112+ uses : actions/upload-artifact@v4
113+ with :
114+ name : XEngine_ProxyServiceApp-Ubuntu_22.04_Arm64
115+ path : XEngine_Release/
116+ retention-days : 1
117+ - name : Upload folder as artifact with ubuntu24.04 Arm64
118+ if : matrix.os == 'ubuntu-24.04-arm'
119+ uses : actions/upload-artifact@v4
120+ with :
121+ name : XEngine_ProxyServiceApp-Ubuntu_24.04_Arm64
122+ path : XEngine_Release/
123+ retention-days : 1
0 commit comments