Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
YGOPRO-520DIY
ygopro
Commits
e6cf96c5
Commit
e6cf96c5
authored
Jun 03, 2025
by
mercury233
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test server github action
parent
cc97b157
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
266 additions
and
0 deletions
+266
-0
.github/workflows/server.yml
.github/workflows/server.yml
+266
-0
No files found.
.github/workflows/server.yml
0 → 100644
View file @
e6cf96c5
name
:
Automated Test Build (Server Mode)
on
:
push
:
branches
:
[
"
server"
]
pull_request
:
branches
:
[
"
server"
]
jobs
:
build-windows
:
strategy
:
fail-fast
:
false
matrix
:
name
:
-
windows
-
windows-x64
-
windows-ygopro2-ai-server
# - windows-2025
include
:
-
name
:
windows
os
:
windows-2022
vs
:
vs2022
-
name
:
windows-x64
os
:
windows-2022
vs
:
vs2022
x64
:
true
# - name: windows-2025
# os: windows-2025
# vs: vs2025 # to be enabled after the release of Visual Studio 2025
-
name
:
windows-ygopro2-ai-server
os
:
windows-2022
vs
:
vs2022
x64
:
true
ygopro2
:
true
runs-on
:
${{ matrix.os }}
steps
:
-
name
:
Checkout repository with submodules
uses
:
actions/checkout@v4
with
:
fetch-depth
:
1
submodules
:
true
-
name
:
Update submodules
run
:
|
cd ocgcore
git checkout master
git pull origin master
cd ..
# cd script
# git checkout master
# git pull origin master
# cd ..
-
name
:
Download premake
id
:
premake
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
url
:
https://github.com/premake/premake-core/releases/download/v5.0.0-beta6/premake-5.0.0-beta6-windows.zip
filename
:
premake5.zip
-
name
:
Extract premake
run
:
|
7z x ${{ steps.premake.outputs.filepath }}
-
name
:
Download libevent
id
:
libevent
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
url
:
https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
filename
:
libevent.tar.gz
-
name
:
Extract libevent
run
:
|
tar xf ${{ steps.libevent.outputs.filepath }}
move libevent-2.0.22-stable event
-
name
:
Download lua
id
:
lua
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
url
:
https://www.lua.org/ftp/lua-5.4.7.tar.gz
-
name
:
Extract lua
run
:
|
tar xf ${{ steps.lua.outputs.filepath }}
move lua-5.4.7 lua
-
name
:
Download sqlite
id
:
sqlite
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
url
:
https://www.sqlite.org/2025/sqlite-amalgamation-3490100.zip
-
name
:
Extract sqlite
run
:
|
7z x ${{ steps.sqlite.outputs.filepath }}
move sqlite-amalgamation-3490100 sqlite3
-
name
:
Download irrlicht
if
:
matrix.ygopro2 ==
true
run
:
|
git clone --depth=1 https://github.com/mercury233/irrlicht
-
name
:
Copy premake files
run
:
|
xcopy /E premake\* .
xcopy /E resource\* .
-
name
:
Use premake to generate Visual Studio solution
run
:
|
.\premake5.exe ${{ matrix.vs }} ${{ matrix.ygopro2 && '--server-pro2-support' || '' }}
-
name
:
Add msbuild to PATH
uses
:
microsoft/setup-msbuild@v2
-
name
:
Build solution
run
:
|
MSBuild.exe build\YGOPro.sln /m /p:Configuration=Release /p:Platform=${{ matrix.x64 && 'x64' || 'Win32' }}
-
name
:
Upload build artifacts
uses
:
actions/upload-artifact@v4
with
:
name
:
YGOPro-Server-${{ matrix.name }}
path
:
|
bin/release/x86/ygopro.exe
bin/release/x64/ygopro.exe
bin/release/x64/AI.Server.exe
build-linux
:
strategy
:
fail-fast
:
false
matrix
:
name
:
-
ubuntu-22
-
ubuntu-24
-
ubuntu-static-link
-
ubuntu-zip-support
include
:
-
name
:
ubuntu-22
os
:
ubuntu-22.04
premake-version
:
5.0.0-beta4
-
name
:
ubuntu-24
os
:
ubuntu-24.04
premake-version
:
5.0.0-beta6
-
name
:
ubuntu-static-link
os
:
ubuntu-22.04
premake-version
:
5.0.0-beta4
static-link
:
true
-
name
:
ubuntu-zip-support
os
:
ubuntu-22.04
premake-version
:
5.0.0-beta4
zip-support
:
true
runs-on
:
${{ matrix.os }}
steps
:
-
name
:
Checkout repository with submodules
uses
:
actions/checkout@v4
with
:
fetch-depth
:
1
submodules
:
true
-
name
:
Update submodules
run
:
|
cd ocgcore
git checkout master
git pull origin master
cd ..
# cd script
# git checkout master
# git pull origin master
# cd ..
-
name
:
Install dependencies
if
:
matrix.static-link !=
true
run
:
|
sudo apt-get update
sudo apt-get install -y libevent-dev libsqlite3-dev
-
name
:
Download premake
id
:
premake
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
url
:
https://github.com/premake/premake-core/releases/download/v${{ matrix.premake-version }}/premake-${{ matrix.premake-version }}-linux.tar.gz
filename
:
premake5.tar.gz
-
name
:
Extract premake
run
:
|
tar xf ${{ steps.premake.outputs.filepath }}
chmod +x ./premake5
-
name
:
Download libevent
if
:
matrix.static-link ==
true
id
:
libevent
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
url
:
https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
filename
:
libevent.tar.gz
-
name
:
Extract libevent
if
:
matrix.static-link ==
true
run
:
|
tar xf ${{ steps.libevent.outputs.filepath }}
mv libevent-2.1.12-stable event
-
name
:
Configure libevent
if
:
matrix.static-link ==
true
run
:
|
cd event
./configure --disable-openssl --enable-static=yes --enable-shared=no
sed -f make-event-config.sed < config.h > ./include/event2/event-config.h
cd ..
-
name
:
Download lua
id
:
lua
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
url
:
https://www.lua.org/ftp/lua-5.4.7.tar.gz
-
name
:
Extract lua
run
:
|
tar xf ${{ steps.lua.outputs.filepath }}
mv lua-5.4.7 lua
-
name
:
Download sqlite
if
:
matrix.static-link ==
true
id
:
sqlite
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
url
:
https://www.sqlite.org/2025/sqlite-amalgamation-3490100.zip
-
name
:
Extract sqlite
if
:
matrix.static-link ==
true
run
:
|
7z x ${{ steps.sqlite.outputs.filepath }}
mv sqlite-amalgamation-3490100 sqlite3
-
name
:
Download irrlicht
if
:
matrix.zip-support ==
true
run
:
|
git clone --depth=1 https://github.com/mercury233/irrlicht
-
name
:
Copy premake files
run
:
|
cp -r premake/* .
cp -r resource/* .
-
name
:
Use premake to generate make files
run
:
|
./premake5 gmake ${{ matrix.zip-support && '--server-zip-support' || '' }} \
${{ matrix.static-link && '--build-sqlite --build-event' || '' }}
-
name
:
Make
run
:
|
cd build
make -j 4 config=release
cd ..
-
name
:
Upload build artifacts
uses
:
actions/upload-artifact@v4
with
:
name
:
YGOPro-Server-${{ matrix.name }}
path
:
|
bin/release/ygopro
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment