1+ name : debian build workflows
2+
3+ on :
4+ push :
5+ branches :
6+ - ' develop'
7+ paths :
8+ - ' XEngine_Source/**'
9+ - ' XEngine_Release/**'
10+ - ' .github/**'
11+
12+ permissions :
13+ contents : read
14+
15+ jobs :
16+ build :
17+ runs-on : ${{ matrix.runner }}
18+ container :
19+ image : debian:bookworm
20+ options : --platform ${{ matrix.platform }}
21+ strategy :
22+ matrix :
23+ include :
24+ - arch : amd64
25+ runner : ubuntu-24.04
26+ platform : linux/amd64
27+ artifact : x86-64
28+
29+ steps :
30+ - name : Checkout main repository code
31+ uses : actions/checkout@v4
32+
33+ - name : Checkout dependency repository (xengine)
34+ uses : actions/checkout@v4
35+ with :
36+ repository : libxengine/libxengine
37+ path : libxengine
38+
39+ - name : sub module checkout (opensource)
40+ uses : actions/checkout@v4
41+ with :
42+ repository : libxengine/XEngine_OPenSource
43+ path : XEngine_Source/XEngine_Depend
44+
45+ - name : install system package
46+ run : |
47+ apt update -y
48+ apt install gcc g++ make git jq unzip curl -y
49+
50+ - name : Set up Dependency rocky linux Environment
51+ run : |
52+ cd libxengine
53+ chmod 777 *
54+ ./XEngine_LINEnv.sh -i 0
55+ - name : install xengine library
56+ run : |
57+ latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
58+ wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Debian_12_${{ matrix.artifact }}.zip
59+ unzip ./XEngine_Debian_12_${{ matrix.artifact }}.zip -d ./XEngine_Debian_12_${{ matrix.artifact }}
60+ cd XEngine_Debian_12_${{ matrix.artifact }}
61+
62+ cp -rf ./XEngine_Include /usr/local/include
63+ find ./XEngine_Linux -name "*.so" -exec cp {} /usr/local/lib \;
64+ ldconfig
65+
66+ - name : make
67+ run : |
68+ cd XEngine_Source
69+ make
70+ make FLAGS=InstallAll
71+ make FLAGS=CleanAll
72+
73+ make RELEASE=1
74+ make FLAGS=InstallAll
75+ make FLAGS=CleanAll
76+ cd ..
77+ - name : test
78+ run : |
79+ cd XEngine_Release
80+ ./XEngine_AuthorizeService -t
81+
82+ - name : Upload folder as artifact
83+ uses : actions/upload-artifact@v4
84+ with :
85+ name : XEngine_AuthorizeService-Debian_12_x86-64
86+ path : XEngine_Release/
87+ retention-days : 1
0 commit comments