Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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_ProxyServiceApp -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_ProxyServiceApp-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_ProxyServiceApp -t

- name: Upload folder as artifact with RockyLinux
uses: actions/upload-artifact@v4
with:
name: XEngine_ProxyServiceApp-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_ProxyServiceApp -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_ProxyServiceApp-Ubuntu_24.04_Arm64
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 @@ -84,11 +84,13 @@ jobs:
if: matrix.os == 'macos-13'
uses: actions/upload-artifact@v4
with:
name: XEngine_ProxyServiceApp-x86_64-Mac
name: XEngine_ProxyServiceApp-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_ProxyServiceApp-Arm64-Mac
path: XEngine_Release/
name: XEngine_ProxyServiceApp-Mac_Arm64
path: XEngine_Release/
retention-days: 1
45 changes: 38 additions & 7 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 # 最新的 Windows 环境

Expand Down Expand Up @@ -59,7 +59,21 @@ 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 @@ -85,17 +99,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 == 'x64'
uses: actions/upload-artifact@v4
with:
name: XEngine_ProxyServiceApp-x86_32-Windows
name: XEngine_ProxyServiceApp-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_ProxyServiceApp-x86_64-Windows
path: XEngine_Release/
name: XEngine_ProxyServiceApp-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_ProxyServiceApp-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 x86_64 ubuntubuild
uses: dawidd6/action-download-artifact@v6
with:
workflow: ubuntubuild.yml
workflow: ubuntu86_64_build.yml
workflow_conclusion: success
check_artifacts: false
skip_unpack: true
if_no_artifact_found: fail
path: ./XRelease/
- name: Download Arm64 ubuntubuild
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 x86_64 Rockylinux
uses: dawidd6/action-download-artifact@v6
with:
workflow: RockyX86_64_build.yml
workflow_conclusion: success
check_artifacts: false
skip_unpack: true
if_no_artifact_found: fail
path: ./XRelease/
- name: Download Arm64 Rockylinux
uses: dawidd6/action-download-artifact@v6
with:
workflow: RockyArm64_build.yml
workflow_conclusion: success
check_artifacts: false
skip_unpack: true
Expand Down
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 @@ -80,11 +80,13 @@ jobs:
if: matrix.os == 'ubuntu-22.04'
uses: actions/upload-artifact@v4
with:
name: XEngine_ProxyServiceApp-x86_64-Ubuntu-22.04
name: XEngine_ProxyServiceApp-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_ProxyServiceApp-x86_64-Ubuntu-24.04
path: XEngine_Release/
name: XEngine_ProxyServiceApp-Ubuntu_24.04_x86_64
path: XEngine_Release/
retention-days: 1
Loading
Loading