Skip to content

Commit 5462df4

Browse files
committed
ci:add fedora support
1 parent 11ea75b commit 5462df4

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

.github/workflows/fedora_build.yml

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
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

Comments
 (0)