1+ name : AlmaLinux 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 : almalinux:${{ matrix.version }}
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+ version : 9
29+ - arch : arm64
30+ runner : ubuntu-24.04-arm
31+ platform : linux/arm64
32+ artifact : Arm64
33+ version : 9
34+ - arch : amd64
35+ runner : ubuntu-24.04
36+ platform : linux/amd64
37+ artifact : x86-64
38+ version : 10
39+ - arch : arm64
40+ runner : ubuntu-24.04-arm
41+ platform : linux/arm64
42+ artifact : Arm64
43+ version : 10
44+
45+ steps :
46+ - name : Checkout main repository code
47+ uses : actions/checkout@v4
48+
49+ - name : Checkout dependency repository (xengine)
50+ uses : actions/checkout@v4
51+ with :
52+ repository : libxengine/libxengine
53+ path : libxengine
54+
55+ - name : sub module checkout (opensource)
56+ uses : actions/checkout@v4
57+ with :
58+ repository : libxengine/XEngine_OPenSource
59+ path : XEngine_Source/XEngine_DependLibrary
60+
61+ - name : Set TERM variable
62+ run : echo "TERM=xterm" >> $GITHUB_ENV
63+
64+ - name : install system package
65+ run : |
66+ dnf update -y
67+ dnf install gcc g++ make git jq unzip wget -y
68+
69+ - name : install xengine library
70+ run : |
71+ latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
72+ wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip
73+ unzip ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip -d ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}
74+ cd XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}
75+
76+ chmod 777 *
77+ ./XEngine_LINEnv.sh -i 3
78+ - name : make
79+ run : |
80+ cd XEngine_Source
81+ make
82+ make FLAGS=InstallAll
83+ make FLAGS=CleanAll
84+
85+ make RELEASE=1
86+ make FLAGS=InstallAll
87+ make FLAGS=CleanAll
88+ cd ..
89+ - name : test
90+ run : |
91+ cd XEngine_Release
92+ ./XEngine_XStorageApp -t
93+
94+ - name : Upload folder as artifact with Alma Linux
95+ uses : actions/upload-artifact@v4
96+ with :
97+ name : XEngine_XStorageApp-AlmaLinux_${{ matrix.version }}_${{ matrix.artifact }}
98+ path : XEngine_Release/
99+ retention-days : 1
0 commit comments