Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4afb4c2
update:depend library
xengine-qyt Feb 26, 2025
127b76a
fixed:set log level not work
xengine-qyt Feb 26, 2025
e874b41
added:set log type support
xengine-qyt Feb 26, 2025
6a1f047
improved:parameter parse and more parameter supported
xengine-qyt Feb 27, 2025
11016f2
ci:set left time to 1 day
xengine-qyt Feb 27, 2025
1357b03
update:depend library
xengine-qyt Mar 6, 2025
aefeb1d
added:arm64 build support and ci release
xengine-qyt Mar 6, 2025
13aaf64
added:rocky linux and ubuntu arm64 ci release
xengine-qyt Mar 6, 2025
79a0699
fixed:arm64 windows build
xengine-qyt Mar 6, 2025
d91bc24
update:vs copy file
xengine-qyt Mar 11, 2025
7a4eade
modify:does not allow to create topic when the topic is existed
xengine-qyt Mar 11, 2025
b1914ad
modify:http error code use protocol common hdr file
xengine-qyt Mar 11, 2025
dc7aefc
added:help module
xengine-qyt Mar 11, 2025
1f15acb
fixed:time publish task not work
xengine-qyt Mar 11, 2025
211bc51
fixed:build error
xengine-qyt Mar 11, 2025
bcbb7f4
fixed:vs build error
xengine-qyt Mar 11, 2025
3d38019
fixed:time count does not work for memory cache
xengine-qyt Mar 11, 2025
4e70051
added:authorize verification support with http authorize
xengine-qyt Mar 12, 2025
bcd7cdb
added:http restful api that http api verification support
xengine-qyt Mar 12, 2025
2808e7a
added:delete user for http management
xengine-qyt Mar 12, 2025
74e3347
modify:does not allow empty for register and login
xengine-qyt Mar 12, 2025
3b9fdc6
added:delete topic support for http
xengine-qyt Mar 12, 2025
e613753
modify:http packet can be set null message
xengine-qyt Mar 13, 2025
298c6b8
update:read me document and configure
xengine-qyt Mar 13, 2025
2470bfd
ci:release more support
xengine-qyt Mar 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions .github/workflows/RockyArm64_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: rocky Arm64 build workflows

on:
push:
branches:
- 'develop'
paths:
- 'XEngine_Source/**'
- 'XEngine_Release/**'
- '.github/**'

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-24.04
env:
IMAGE_NAME: rockylinux/rockylinux:9.5

strategy:
fail-fast: false
matrix:
arch: [linux/arm64]

steps:
# 检出您的主仓库代码
- name: Checkout main repository code
uses: actions/checkout@v4
with:
ref: 'develop'

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Build ${{ matrix.arch }}
run: |
docker run --platform ${{ matrix.arch }} --rm \
-v ${{ github.workspace }}:/workspace \
-w /workspace ${{ env.IMAGE_NAME }} /bin/sh -c '
set -e
dnf update -y
dnf install --allowerasing git make g++ wget curl jq unzip -y

git config --global --add safe.directory /workspace
git submodule init
git submodule update

latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_9_Arm64.zip
unzip ./XEngine_RockyLinux_9_Arm64.zip -d ./XEngine_RockyLinux_9_Arm64
cd XEngine_RockyLinux_9_Arm64

chmod 777 ./XEngine_LINEnv.sh
./XEngine_LINEnv.sh -i 0

cp -rf ./XEngine_Include /usr/local/include
find ./XEngine_Linux -name "*.so" -exec cp {} /usr/lib64 \;
ldconfig
cd ..

cd XEngine_Source
make ARCH=Arm64 RELEASE=1
make FLAGS=InstallAll
make FLAGS=CleanAll
cd ..

cd XEngine_Release
./XEngine_MQServiceApp -t
chown -R $(id -u):$(id -g) .
chmod -R a+r . '

- name: Upload folder as artifact with RockyLinux
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-RockyLinux_9_Arm64
path: XEngine_Release/
retention-days: 1
83 changes: 83 additions & 0 deletions .github/workflows/RockyX86_64_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: rocky x86_64 build workflows

on:
push:
branches:
- 'develop'
paths:
- 'XEngine_Source/**'
- 'XEngine_Release/**'
- '.github/**'

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
container:
image: rockylinux/rockylinux:9.5

steps:
# 检出您的主仓库代码
- name: Checkout main repository code
uses: actions/checkout@v4
with:
ref: 'develop'

# 检出依赖的xengine仓库到指定的xengine目录
- name: Checkout dependency repository (xengine)
uses: actions/checkout@v4
with:
repository: libxengine/libxengine
path: libxengine

- name: sub module checkout (opensource)
uses: actions/checkout@v4
with:
repository: libxengine/XEngine_OPenSource
path: XEngine_Source/XEngine_Depend

- name: install system package
run: |
dnf update -y
dnf install gcc g++ make git jq unzip -y
# 设置依赖库的环境变量
- name: Set up Dependency rocky linux Environment
run: |
cd libxengine
chmod 777 *
./XEngine_LINEnv.sh -i 0
- name: install xengine library
run: |
latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_9_x86-64.zip
unzip ./XEngine_RockyLinux_9_x86-64.zip -d ./XEngine_RockyLinux_9_x86-64
cd XEngine_RockyLinux_9_x86-64

cp -rf ./XEngine_Include /usr/local/include
find ./XEngine_Linux -name "*.so" -exec cp {} /usr/lib64 \;
ldconfig

- name: make
run: |
cd XEngine_Source
make
make FLAGS=InstallAll
make FLAGS=CleanAll

make RELEASE=1
make FLAGS=InstallAll
make FLAGS=CleanAll

- name: test
run: |
cd XEngine_Release
./XEngine_MQServiceApp -t

- name: Upload folder as artifact with RockyLinux
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-RockyLinux_9_x86_64
path: XEngine_Release/
retention-days: 1
74 changes: 74 additions & 0 deletions .github/workflows/UbuntuArm64_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: ubuntu Arm64 build workflows

on:
push:
branches:
- 'develop'
paths:
- 'XEngine_Source/**'
- 'XEngine_Release/**'
- '.github/**'

jobs:
build:
runs-on: ubuntu-24.04
env:
IMAGE_NAME: ubuntu:24.04

strategy:
fail-fast: false
matrix:
arch: [linux/arm64]

steps:
- name: Checkout main repository code
uses: actions/checkout@v4
with:
ref: 'develop'

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Build ${{ matrix.arch }}
run: |
docker run --platform ${{ matrix.arch }} --rm \
-v ${{ github.workspace }}:/workspace \
-w /workspace ${{ env.IMAGE_NAME }} /bin/sh -c '
set -e
apt update -y
apt install git make g++ wget curl jq unzip -y

git config --global --add safe.directory /workspace
git submodule init
git submodule update

latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_UBuntu_24.04_Arm64.zip
unzip ./XEngine_UBuntu_24.04_Arm64.zip -d ./XEngine_UBuntu_24.04_Arm64
cd XEngine_UBuntu_24.04_Arm64

chmod 777 ./XEngine_LINEnv.sh
./XEngine_LINEnv.sh -i 0

cp -rf ./XEngine_Include /usr/local/include
find ./XEngine_Linux -name "*.so" -exec cp {} /usr/local/lib \;
ldconfig
cd ..

cd XEngine_Source
make ARCH=Arm64 RELEASE=1
make FLAGS=InstallAll
make FLAGS=CleanAll
cd ..

cd XEngine_Release
./XEngine_MQServiceApp -t
chown -R $(id -u):$(id -g) .
chmod -R a+r . '

- name: Upload folder as artifact with ubuntu Arm64
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-Ubuntu_24.04_Arm64
path: XEngine_Release/
retention-days: 1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: ubuntu build workflows
name: ubuntu x86_64 build workflows

on:
push:
Expand Down Expand Up @@ -78,11 +78,13 @@ jobs:
if: matrix.os == 'ubuntu-22.04'
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-x86_64-Ubuntu-22.04
name: XEngine_MQServiceApp-Ubuntu_22.04_x86_64
path: XEngine_Release/
retention-days: 1
- name: Upload folder as artifact with ubuntu24.04
if: matrix.os == 'ubuntu-24.04'
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-x86_64-Ubuntu-24.04
path: XEngine_Release/
name: XEngine_MQServiceApp-Ubuntu_24.04_x86_64
path: XEngine_Release/
retention-days: 1
8 changes: 5 additions & 3 deletions .github/workflows/macbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,13 @@ jobs:
if: matrix.os == 'macos-13'
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-x86_64-Mac
name: XEngine_MQServiceApp-Mac_x86_64
path: XEngine_Release/
retention-days: 1
- name: Upload folder as artifact with mac arm
if: matrix.os == 'macos-14'
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-Arm64-Mac
path: XEngine_Release/
name: XEngine_MQServiceApp-Mac_Arm64
path: XEngine_Release/
retention-days: 1
41 changes: 36 additions & 5 deletions .github/workflows/msbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
fail-fast: false
matrix:
configuration: [Debug ,Release]
platform: [x86 ,x64]
platform: [x86 ,x64 ,ARM64]

runs-on: windows-latest

Expand Down Expand Up @@ -57,6 +57,20 @@ jobs:
echo "XENGINE_INCLUDE=${{ github.workspace }}/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "XENGINE_LIB32=${{ github.workspace }}/XEngine_Windows/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
shell: pwsh
- name: Set up Dependency ARM64 Environment
if: matrix.platform == 'ARM64'
run: |
$response = Invoke-RestMethod -Uri "https://api.github.com/repos/libxengine/libxengine/releases/latest" -Headers @{"Accept"="application/vnd.github.v3+json"}
$latest_tag = $response.tag_name
Write-Host "Latest Tag: $latest_tag"

$url = "https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Windows_Arm64.zip"
Invoke-WebRequest -Uri $url -OutFile "XEngine_Windows_Arm64.zip"
Expand-Archive -Path ./XEngine_Windows_Arm64.zip -DestinationPath ./XEngine_Windows -Force

echo "XENGINE_INCLUDE=${{ github.workspace }}/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "XENGINE_LibArm64=${{ github.workspace }}/XEngine_Windows/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
shell: pwsh

- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
Expand All @@ -83,17 +97,34 @@ jobs:
cd XEngine_Release
./VSCopy_x64.bat
shell: pwsh
- name: Conditional Step for Arm64 Release
if: matrix.configuration == 'Release' && matrix.platform == 'Arm64'
run: |
cp -r XEngine_Source/ARM64/Release/*.dll XEngine_Release/
cp -r XEngine_Source/ARM64/Release/*.exe XEngine_Release/
cp -r XEngine_Source/VSCopy_Arm64.bat XEngine_Release/
cd XEngine_Release
./VSCopy_Arm64.bat
shell: pwsh

- name: Upload folder as artifact with x86
if: matrix.configuration == 'Release' && matrix.platform == 'x86'
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-x86_32-Windows
name: XEngine_MQServiceApp-Windows_x86_32
path: XEngine_Release/

retention-days: 1
- name: Upload folder as artifact with x64
if: matrix.configuration == 'Release' && matrix.platform == 'x64'
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-x86_64-Windows
path: XEngine_Release/
name: XEngine_MQServiceApp-Windows_x86_64
path: XEngine_Release/
retention-days: 1
- name: Upload folder as artifact with Arm64
if: matrix.configuration == 'Release' && matrix.platform == 'Arm64'
uses: actions/upload-artifact@v4
with:
name: XEngine_MQServiceApp-Windows_Arm64
path: XEngine_Release/
retention-days: 1
31 changes: 29 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,37 @@ jobs:
with:
fetch-depth: 0

- name: Download ubuntubuild
- name: Download ubuntubuild x86_64
uses: dawidd6/action-download-artifact@v6
with:
workflow: ubuntubuild.yml
workflow: UbuntuX86_64_build.yml
workflow_conclusion: success
check_artifacts: false
skip_unpack: true
if_no_artifact_found: fail
path: ./XRelease/
- name: Download ubuntubuild Arm64
uses: dawidd6/action-download-artifact@v6
with:
workflow: UbuntuArm64_build.yml
workflow_conclusion: success
check_artifacts: false
skip_unpack: true
if_no_artifact_found: fail
path: ./XRelease/
- name: Download Rockylinux Arm64
uses: dawidd6/action-download-artifact@v6
with:
workflow: RockyArm64_build.yml
workflow_conclusion: success
check_artifacts: false
skip_unpack: true
if_no_artifact_found: fail
path: ./XRelease/
- name: Download Rockylinux x86_64
uses: dawidd6/action-download-artifact@v6
with:
workflow: RockyX86_64_build.yml
workflow_conclusion: success
check_artifacts: false
skip_unpack: true
Expand Down
Loading
Loading