1+ name : fedora build workflows
2+
3+ on :
4+ push :
5+ branches :
6+ - ' master'
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 : fedora:${{ matrix.fedora-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+ fedora-version : 42
28+ artifact : x86-64
29+ - arch : amd64
30+ runner : ubuntu-24.04
31+ platform : linux/amd64
32+ fedora-version : 41
33+ artifact : x86-64
34+
35+ steps :
36+ - name : Checkout main repository code
37+ uses : actions/checkout@v4
38+
39+ - name : Checkout dependency repository (xengine)
40+ uses : actions/checkout@v4
41+ with :
42+ repository : libxengine/libxengine
43+ path : libxengine
44+
45+ - name : sub module checkout (opensource)
46+ uses : actions/checkout@v4
47+ with :
48+ repository : libxengine/XEngine_OPenSource
49+ path : XEngine_Source/XEngine_Depend
50+
51+ - name : install system package
52+ run : |
53+ dnf update -y
54+ dnf install gcc g++ make git jq unzip -y
55+
56+ - name : Set up Dependency rocky linux Environment
57+ run : |
58+ cd libxengine
59+ chmod 777 *
60+ ./XEngine_LINEnv.sh -i 0
61+ - name : install xengine library
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_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}.zip
65+ unzip ./XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}.zip -d ./XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}
66+ cd XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}
67+
68+ cp -rf ./XEngine_Include /usr/local/include
69+ find ./XEngine_Linux -name "*.so" -exec cp {} /usr/lib64 \;
70+ ldconfig
71+
72+ - name : make
73+ run : |
74+ cd XEngine_Source
75+ make
76+ make FLAGS=InstallAll
77+ make FLAGS=CleanAll
78+
79+ make RELEASE=1
80+ make FLAGS=InstallAll
81+ make FLAGS=CleanAll
82+ cd ..
83+ - name : test
84+ run : |
85+ cd XEngine_Release
86+ ./XEngine_CenterApp -t
87+ ./XEngine_Http2App -t
88+ ./XEngine_HttpApp -t
89+ ./XEngine_SimpleApp -t
90+ ./XEngine_WebSocketApp -t
0 commit comments