Skip to content

Commit d0f5572

Browse files
author
Github Actions
committed
Merge 3.3.5 to 3.3.5-base_patch
2 parents 5214e7b + 81cb16e commit d0f5572

363 files changed

Lines changed: 12558 additions & 8708 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.circleci/config.yml‎

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: 2
22
jobs:
33
codestyle_and_sql:
44
docker:
5-
- image: trinitycore/circle-ci:debian-12-builder
5+
- image: trinitycore/circle-ci:debian-13-builder
66
auth:
77
username: $DOCKERHUB_USERNAME
88
password: $DOCKERHUB_PASSWORD
@@ -38,7 +38,7 @@ jobs:
3838
cat sql/updates/world/3.3.5/*.sql | mysql -h 127.0.0.1 -uroot world
3939
pch:
4040
docker:
41-
- image: trinitycore/circle-ci:debian-12-builder
41+
- image: trinitycore/circle-ci:debian-13-builder
4242
auth:
4343
username: $DOCKERHUB_USERNAME
4444
password: $DOCKERHUB_PASSWORD
@@ -50,14 +50,12 @@ jobs:
5050
- run:
5151
name: Setup
5252
command: |
53-
mkdir bin
54-
cd bin
5553
if [ "$DOCKERHUB_PUSH_IMAGES" == "TRUE" ]; then
56-
cmake ../ -DWITH_WARNINGS=1 -DWITH_COREDEBUG=0 -DUSE_COREPCH=1 -DUSE_SCRIPTPCH=1 -DTOOLS=1 -DSCRIPTS=static -DSERVERS=1 -DNOJEM=0 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_INSTALL_PREFIX=check_install -DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib -DBUILD_TESTING=1
54+
export CMAKE_BUILD_TYPE=Release
5755
else
58-
cmake ../ -DWITH_WARNINGS=1 -DWITH_COREDEBUG=0 -DUSE_COREPCH=1 -DUSE_SCRIPTPCH=1 -DTOOLS=1 -DSCRIPTS=static -DSERVERS=1 -DNOJEM=0 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_C_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_CXX_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_INSTALL_PREFIX=check_install -DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib -DBUILD_TESTING=1
56+
export CMAKE_BUILD_TYPE=Debug
5957
fi
60-
cd ..
58+
cmake -S . -B ./bin -DWITH_WARNINGS=1 -DWITH_WARNINGS_AS_ERRORS=1 -DWITH_COREDEBUG=0 -DUSE_COREPCH=1 -DUSE_SCRIPTPCH=1 -DTOOLS=1 -DSCRIPTS=static -DSERVERS=1 -DNOJEM=0 -DCMAKE_C_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_CXX_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_INSTALL_PREFIX=bin/check_install -DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib -DBUILD_TESTING=1
6159
- run:
6260
name: Build
6361
command: |
@@ -87,7 +85,7 @@ jobs:
8785
docker build --file Dockerfile --force-rm --tag $image_prefix:$CIRCLE_SHA1 --tag $image_prefix:$(echo $CIRCLE_BRANCH | tr '/' '-' | tr '[:upper:]' '[:lower:]') .
8886
docker save $image_prefix | gzip > ../../docker.tar.gz
8987
if [ "$DOCKERHUB_PUSH_IMAGES" == "TRUE" ]; then
90-
if [ "$CIRCLE_BRANCH" == "3.3.5" ] || [ "$CIRCLE_BRANCH" == "master" ] || [ "$CIRCLE_BRANCH" == "wotlk_classic" ]; then
88+
if [ "$CIRCLE_BRANCH" == "3.3.5" ] || [ "$CIRCLE_BRANCH" == "master" ]; then
9189
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
9290
echo "Pushing docker image to dockerhub"
9391
docker push --all-tags $image_prefix
@@ -97,7 +95,7 @@ jobs:
9795
path: docker.tar.gz
9896
nopch:
9997
docker:
100-
- image: trinitycore/circle-ci:debian-12-builder
98+
- image: trinitycore/circle-ci:debian-13-builder
10199
auth:
102100
username: $DOCKERHUB_USERNAME
103101
password: $DOCKERHUB_PASSWORD
@@ -122,6 +120,7 @@ jobs:
122120
export CCACHE_MAXSIZE="1G"
123121
export CC="ccache clang"
124122
export CXX="ccache clang++"
123+
export CMAKE_BUILD_TYPE=Debug
125124
export CCACHE_CPP2=yes
126125
export USE_CCACHE=1
127126
export PATH=/usr/lib/ccache:$PATH
@@ -130,10 +129,7 @@ jobs:
130129
ccache -s
131130
git config user.email "circleci@build.bot" && git config user.name "Circle CI"
132131
$CXX --version
133-
mkdir bin
134-
cd bin
135-
cmake ../ -DWITH_WARNINGS=1 -DWITH_COREDEBUG=0 -DUSE_COREPCH=0 -DUSE_SCRIPTPCH=0 -DTOOLS=1 -DSCRIPTS=dynamic -DSERVERS=1 -DNOJEM=0 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_C_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_CXX_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_INSTALL_PREFIX=check_install
136-
cd ..
132+
cmake -S . -B ./bin -DWITH_WARNINGS=1 -DWITH_WARNINGS_AS_ERRORS=1 -DWITH_COREDEBUG=0 -DUSE_COREPCH=0 -DUSE_SCRIPTPCH=0 -DTOOLS=1 -DSCRIPTS=dynamic -DSERVERS=1 -DNOJEM=0 -DCMAKE_C_FLAGS_DEBUG="-DNDEBUG -g0" -DCMAKE_CXX_FLAGS_DEBUG="-DNDEBUG -g0" -DCMAKE_INSTALL_PREFIX=bin/check_install
137133
- run:
138134
name: Build
139135
command: |
@@ -153,4 +149,3 @@ workflows:
153149
jobs:
154150
- codestyle_and_sql
155151
- pch
156-
- nopch

‎.github/workflows/gcc-build.yml‎

Lines changed: 0 additions & 34 deletions
This file was deleted.

‎.github/workflows/linux-build.yml‎

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Ubuntu x64
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-24.04
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
include:
14+
- cc: gcc-13
15+
cxx: g++-13
16+
pch: 1
17+
launcher:
18+
- cc: clang-17
19+
cxx: clang++-17
20+
pch: 1
21+
launcher:
22+
- cc: clang-17
23+
cxx: clang++-17
24+
pch: 0
25+
launcher: ccache
26+
steps:
27+
- uses: actions/checkout@v7
28+
- name: Set reusable strings
29+
id: strings
30+
shell: bash
31+
run: |
32+
echo "build-start=$EPOCHSECONDS" >> "$GITHUB_OUTPUT"
33+
echo "build-output-dir=${{ github.workspace }}/bin" >> "$GITHUB_OUTPUT"
34+
echo "ccache-key-prefix=ubuntu-${{ matrix.cc }}-${{ github.base_ref || github.ref_name }}" >> "$GITHUB_OUTPUT"
35+
- name: Dependencies
36+
run: |
37+
sudo apt-get update && sudo apt-get install -yq ccache libboost-dev libboost-filesystem-dev libboost-locale-dev libboost-program-options-dev libboost-regex-dev libboost-thread-dev libssl-dev libreadline-dev zlib1g-dev libbz2-dev
38+
- name: Restore nopch cache
39+
id: ccache-restore
40+
if: ${{ matrix.pch == '0' }}
41+
uses: actions/cache@v6
42+
with:
43+
path: ${{ github.workspace }}/.ccache
44+
key: ${{ steps.strings.outputs.ccache-key-prefix }}-${{ github.ref_name }}-${{ github.sha }}
45+
restore-keys: |
46+
${{ steps.strings.outputs.ccache-key-prefix }}-${{ github.ref_name }}-
47+
${{ steps.strings.outputs.ccache-key-prefix }}-
48+
- name: Setup
49+
env:
50+
CMAKE_BUILD_TYPE: Debug
51+
CMAKE_C_COMPILER_LAUNCHER: ${{ matrix.launcher }}
52+
CMAKE_CXX_COMPILER_LAUNCHER: ${{ matrix.launcher }}
53+
CC: /usr/bin/${{ matrix.cc }}
54+
CXX: /usr/bin/${{ matrix.cxx }}
55+
run: >
56+
cmake -GNinja -S ${{ github.workspace }} -B ${{ steps.strings.outputs.build-output-dir }}
57+
-DWITH_WARNINGS=1 -DWITH_WARNINGS_AS_ERRORS=1 -DWITH_COREDEBUG=0 -DUSE_COREPCH=${{ matrix.pch }} -DUSE_SCRIPTPCH=${{ matrix.pch }} -DTOOLS=1 -DSCRIPTS=dynamic -DSERVERS=1 -DNOJEM=0
58+
-DCMAKE_C_FLAGS_DEBUG="-DNDEBUG -g0" -DCMAKE_CXX_FLAGS_DEBUG="-DNDEBUG -g0"
59+
-DCMAKE_INSTALL_PREFIX=check_install -DBUILD_TESTING=1
60+
- name: Build
61+
env:
62+
CCACHE_BASEDIR: ${{ github.workspace }}
63+
CCACHE_DIR: ${{ github.workspace }}/.ccache
64+
CCACHE_CPP2: 1
65+
run: |
66+
ccache -z
67+
cmake --build ${{ steps.strings.outputs.build-output-dir }}
68+
ccache -s
69+
ccache --evict-older-than $(($EPOCHSECONDS - ${{ steps.strings.outputs.build-start }}))s
70+
- name: Unit tests
71+
run: |
72+
cmake --build ${{ steps.strings.outputs.build-output-dir }} --target test
73+
- name: Check executables
74+
run: |
75+
cmake --install ${{ steps.strings.outputs.build-output-dir }}
76+
cd ${{ github.workspace }}/check_install/bin
77+
./authserver --version
78+
./worldserver --version
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: macOS arm64
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build:
9+
runs-on: macos-15
10+
11+
steps:
12+
- uses: actions/checkout@v7
13+
14+
- name: Set reusable strings
15+
id: strings
16+
shell: bash
17+
run: |
18+
echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
19+
20+
- name: Install/Update requirements
21+
env:
22+
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
23+
run: |
24+
brew update
25+
brew uninstall openssl@1.1
26+
for pkg in mysql openssl readline cmake boost coreutils ninja; do
27+
brew ls --versions $pkg || brew install $pkg
28+
done
29+
brew config
30+
31+
- name: Check some deps
32+
run: |
33+
mysql --version
34+
openssl version
35+
36+
- name: Print CPU info
37+
run: |
38+
echo "Cores: $(nproc), Arch: $(uname -p)"
39+
40+
- name: Configure CMake
41+
env:
42+
CMAKE_BUILD_TYPE: Debug
43+
run: >
44+
cmake -GNinja -B ${{ steps.strings.outputs.build-output-dir }}
45+
-DWITH_WARNINGS=1 -DWITH_WARNINGS_AS_ERRORS=1 -DWITH_COREDEBUG=0 -DUSE_COREPCH=1 -DUSE_SCRIPTPCH=1 -DTOOLS=1 -DSCRIPTS=static -DSERVERS=1 -DBUILD_TESTING=1
46+
-DCMAKE_C_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_CXX_FLAGS_DEBUG="-DNDEBUG"
47+
-DCMAKE_INSTALL_PREFIX=check_install
48+
-S ${{ github.workspace }}
49+
50+
- name: Build
51+
run: |
52+
cd ${{ steps.strings.outputs.build-output-dir }}
53+
ninja
54+
ninja install
55+
56+
- name: Unit tests
57+
run: |
58+
cd ${{ steps.strings.outputs.build-output-dir }}
59+
ninja test
60+
61+
- name: Check binaries
62+
run: |
63+
cd ${{ github.workspace }}/check_install/bin
64+
./authserver --version
65+
./worldserver --version
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
name: Windows x64
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build:
9+
runs-on: windows-latest
10+
env:
11+
CMAKE_BUILD_TYPE: RelWithDebInfo
12+
MYSQL_ROOT_DIR: C:/Program Files/MySQL/MySQL Server 8.0
13+
OPENSSL_ROOT_DIR: C:/libs/openssl
14+
steps:
15+
- uses: actions/checkout@v7
16+
17+
- name: Set reusable strings
18+
id: strings
19+
shell: bash
20+
run: |
21+
echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
22+
23+
- name: Get current OpenSSL version
24+
id: openssl-info
25+
run: |
26+
$VersionsUrl = "https://api.github.com/repos/slproweb/opensslhashes/contents/win32_openssl_hashes.json"
27+
$Headers = @{
28+
Accept="application/vnd.github.raw+json"
29+
Authorization="Bearer ${{ secrets.GITHUB_TOKEN }}"
30+
}
31+
$openSSL = (Invoke-RestMethod $VersionsUrl -Headers $Headers).files.PSObject.Properties |
32+
Select-Object -ExpandProperty Value |
33+
Where-Object { $_.arch -eq 'INTEL' } |
34+
Where-Object { $_.bits -eq '64' } |
35+
Where-Object { $_.light -eq $false } |
36+
Where-Object { $_.installer -eq 'exe' } |
37+
Sort-Object -Descending @{ Expression = { [version]$_.basever } } |
38+
Select-Object -First 1
39+
[System.String]::Format("cache-key=openssl-{0}-win-{1}-{2}", $openSSL.basever, $openSSL.arch, $openSSL.bits) >> $env:GITHUB_OUTPUT
40+
[System.String]::Format("url={0}", $openSSL.url) >> $env:GITHUB_OUTPUT
41+
42+
- name: Cache OpenSSL
43+
id: cache-openssl
44+
uses: actions/cache@v6
45+
with:
46+
path: ${{ env.OPENSSL_ROOT_DIR }}
47+
key: ${{ steps.openssl-info.outputs.cache-key }}
48+
49+
- name: Download and install Openssl 3.x
50+
if: ${{ steps.cache-openssl.outputs.cache-hit != 'true' }}
51+
run: |
52+
(New-Object System.Net.WebClient).DownloadFile("${{ steps.openssl-info.outputs.url }}", "${{ env.TEMP }}\openssl.exe")
53+
Start-Process -Wait -FilePath "${{ env.TEMP }}\openssl.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES",/DIR=${{ env.OPENSSL_ROOT_DIR }}
54+
55+
# Quick Openssl install test
56+
& ${{ env.OPENSSL_ROOT_DIR }}/bin/openssl.exe version
57+
58+
- name: Download and install Boost
59+
uses: MarkusJx/install-boost@v2
60+
id: install-boost
61+
with:
62+
boost_version: 1.84.0
63+
link: static
64+
platform_version: 2022
65+
toolset: msvc
66+
67+
- name: Initialize Visual Studio Environment
68+
uses: egor-tensin/vs-shell@v2
69+
with:
70+
arch: x64
71+
72+
- name: Configure CMake
73+
env:
74+
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
75+
run: >
76+
cmake -GNinja -S ${{ github.workspace }} -B ${{ steps.strings.outputs.build-output-dir }}
77+
-DWITH_WARNINGS_AS_ERRORS=ON -DTOOLS=ON
78+
79+
- name: Build
80+
run: |
81+
cmake --build ${{ steps.strings.outputs.build-output-dir }}
82+
83+
- name: Copy Dependencies
84+
run: |
85+
cd ${{ steps.strings.outputs.build-output-dir }}/bin/${{ env.CMAKE_BUILD_TYPE }}
86+
copy "${{ env.MYSQL_ROOT_DIR }}/lib/libmysql.dll" libmysql.dll
87+
# mysql may depend on a different version of openssl so copy its dlls first (override later with openssl's own if same version)
88+
Copy-Item -Path "${{ env.MYSQL_ROOT_DIR }}/bin/*" -Include libcrypto*,libssl* -Destination .
89+
Copy-Item -Path "${{ env.OPENSSL_ROOT_DIR }}/bin/*" -Include libcrypto*,libssl*,legacy* -Destination .
90+
91+
- name: Check binaries
92+
run: |
93+
cd ${{ steps.strings.outputs.build-output-dir }}/bin/${{ env.CMAKE_BUILD_TYPE }}
94+
./authserver --version
95+
./worldserver --version
96+
97+
- name: Upload Artifacts
98+
uses: actions/upload-artifact@v7
99+
with:
100+
path: ${{ steps.strings.outputs.build-output-dir }}/bin/${{ env.CMAKE_BUILD_TYPE }}
101+
name: TrinityCore335Win64VS2022
102+
# Set a custom retention for artifacts
103+
#retention-days: 7

‎AUTHORS‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Development of this project dates back to 2004, and was developed under various
1414
* MaNGOS project, 2005-2008, located at http://www.mangosproject.org
1515
* MaNGOS project, 2008-2011, located at http://getmangos.com
1616
* SD2 project, 2008-2009, located at http://getmangos.com
17-
* TrinityCore, 2008-2025, located at https://www.trinitycore.org/
17+
* TrinityCore, 2008-2026, located at https://www.trinitycore.org/
1818

1919
## Authorship of the code
2020
Authorship is assigned for each commit within the git history, which is stored in these git repositories:
@@ -37,7 +37,7 @@ The Authors of third party libraries are not explicitly mentioned, and usually a
3737
= TrinityCore -- Thanks/credits file =
3838

3939
TrinityCore is a derivation/rewrite of MaNGOS, which was originally written
40-
by Team Python and the WoW Daemon Team. Many people further helped Trinity Core
40+
by Team Python and the WoW Daemon Team. Many people further helped TrinityCore
4141
by submitting bug reports, code patches, and suggestions. Thanks to the
4242
community!
4343

‎COPYING‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ Public License instead of this License.
340340

341341
OpenSSL exception
342342
In addition, as a special exception, the TrinityCore project
343-
gives permission to link the code of its release of Trinity Core with
343+
gives permission to link the code of its release of TrinityCore with
344344
the OpenSSL project's "OpenSSL" library (or with modified versions of
345345
it that use the same license as the "OpenSSL" library), and distribute
346346
the linked executables. You must obey the GNU General Public License

0 commit comments

Comments
 (0)