diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 00d09000e..f2de9c7cc 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -23,10 +23,10 @@ We support the following versions of dependencies. ### Supported Operating Systems | Linux (Ubuntu) | Status | Recommended | -| :------------- | :----------------: | :------------------: | -| 24.04 | :white_check_mark: | :large_blue_diamond: | -| 22.04 | :white_check_mark: | | -| 20.04 ≤ | :red_circle: | | +|:---------------| :----------------: | :------------------: | +| 26.04 | :white_check_mark: | :large_blue_diamond: | +| 24.04 | :white_check_mark: | | +| 22.04 ≤ | :red_circle: | | | macOS | Status | Recommended | | :---- | :----------------: | :------------------: | diff --git a/.github/actions/linux-build/action.yml b/.github/actions/linux-build/action.yml index 43d6fd29f..20bc9d1f5 100644 --- a/.github/actions/linux-build/action.yml +++ b/.github/actions/linux-build/action.yml @@ -64,23 +64,14 @@ runs: run: | sudo apt update sudo apt remove needrestart #refer: https://github.com/actions/runner-images/issues/9937 - sudo apt-get -y install ccache clang cmake curl google-perftools \ - libmysqlclient-dev make unzip build-essential cmake-data \ - libboost-all-dev libbz2-dev libncurses5-dev libmysql++-dev \ + sudo apt-get -y install ccache clang cmake curl \ + make unzip build-essential cmake-data \ + libboost-all-dev libbz2-dev libmysql++-dev \ libreadline6-dev libssl-dev libtool openssl zlib1g-dev - - # Account for https://github.com/actions/runner-images/issues/8659 - # based off of https://github.com/actions/runner-images/issues/8659#issuecomment-1852353116 - UBUNTU_VERSION="$(grep VERSION_ID /etc/os-release | cut -f2 -d\")" - source /etc/os-release - if [[ "$VERSION_CODENAME" == "jammy" ]]; then - if [[ "${{ inputs.CC }}" =~ "clang-" ]]; then - CLANG_VERSION="$(echo '${{ inputs.CC }}' | cut -f2 -d\-)" - wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - sudo add-apt-repository "deb http://apt.llvm.org/$VERSION_CODENAME/ llvm-toolchain-$VERSION_CODENAME-$CLANG_VERSION main" - sudo apt-get -qq update - sudo apt-get -qq install '${{ inputs.CC }}' - fi + if [[ "$(lsb_release -sr)" == "26.04" ]]; then + sudo apt-get -y install libgoogle-perftools-dev default-libmysqlclient-dev + else + sudo apt-get -y install google-perftools libmysqlclient-dev libncurses5-dev fi - name: setup ccache diff --git a/.github/workflows/core-build-nopch.yml b/.github/workflows/core-build-nopch.yml index 56f0a6a2d..3cfcc6254 100644 --- a/.github/workflows/core-build-nopch.yml +++ b/.github/workflows/core-build-nopch.yml @@ -30,10 +30,6 @@ jobs: fail-fast: true matrix: include: - - os: ubuntu-22.04 - compiler: - CC: clang-15 - CXX: clang++-15 - os: ubuntu-24.04 compiler: CC: clang-18 @@ -42,6 +38,10 @@ jobs: compiler: CC: gcc-14 CXX: g++-14 + - os: ubuntu-26.04 + compiler: + CC: clang-20 + CXX: clang++-20 runs-on: ${{ matrix.os }} name: ${{ matrix.os }}-${{ matrix.compiler.CC }}-nopch if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft diff --git a/.github/workflows/core-build-pch.yml b/.github/workflows/core-build-pch.yml index 3ac8cc6fd..b50d4f4b8 100644 --- a/.github/workflows/core-build-pch.yml +++ b/.github/workflows/core-build-pch.yml @@ -30,14 +30,14 @@ jobs: fail-fast: true matrix: include: - - os: ubuntu-22.04 - compiler: - CC: clang-15 - CXX: clang++-15 - os: ubuntu-24.04 compiler: CC: clang-18 CXX: clang++-18 + - os: ubuntu-26.04 + compiler: + CC: clang-20 + CXX: clang++-20 runs-on: ${{ matrix.os }} name: ${{ matrix.os }}-${{ matrix.compiler.CC }}-pch if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft diff --git a/.github/workflows/dashboard-ci.yml b/.github/workflows/dashboard-ci.yml index 9bd89eced..9e5ca3872 100644 --- a/.github/workflows/dashboard-ci.yml +++ b/.github/workflows/dashboard-ci.yml @@ -41,8 +41,8 @@ jobs: fail-fast: true matrix: include: - - os: ubuntu-22.04 - os: ubuntu-24.04 + - os: ubuntu-26.04 runs-on: ${{ matrix.os }} if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft steps: @@ -73,8 +73,8 @@ jobs: fail-fast: true matrix: include: - - os: ubuntu-22.04 - os: ubuntu-24.04 + - os: ubuntu-26.04 runs-on: ${{ matrix.os }} if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft steps: diff --git a/apps/installer/includes/os_configs/ubuntu.sh b/apps/installer/includes/os_configs/ubuntu.sh index c2c84fff3..61288d571 100644 --- a/apps/installer/includes/os_configs/ubuntu.sh +++ b/apps/installer/includes/os_configs/ubuntu.sh @@ -12,15 +12,15 @@ fi UBUNTU_VERSION=$(lsb_release -sr); case $UBUNTU_VERSION in - "22.04") - ;; "24.04") ;; + "26.04") + ;; *) echo "########## ########## ##########" echo "" echo " using unsupported Ubuntu version " $UBUNTU_VERSION - echo " please update to Ubuntu 22.04 or later" + echo " please update to Ubuntu 24.04 or later" echo "" echo "########## ########## ##########" ;; @@ -30,21 +30,32 @@ $SUDO apt update # shared deps DEBIAN_FRONTEND="noninteractive" $SUDO \ -apt-get -y install ccache clang cmake curl google-perftools libmysqlclient-dev make unzip jq screen tmux \ - libreadline-dev libncurses5-dev libncursesw5-dev libbz2-dev git gcc g++ libssl-dev \ +apt-get -y install ccache clang cmake curl make unzip jq screen tmux \ + libreadline-dev libbz2-dev git gcc g++ libssl-dev \ libncurses-dev libboost-all-dev gdb gdbserver expect +# version-specific deps +if [[ "$UBUNTU_VERSION" == "26.04" ]]; then + DEBIAN_FRONTEND="noninteractive" $SUDO \ + apt-get -y install libgoogle-perftools-dev default-libmysqlclient-dev +else + DEBIAN_FRONTEND="noninteractive" $SUDO \ + apt-get -y install google-perftools libmysqlclient-dev libncurses5-dev libncursesw5-dev +fi + VAR_PATH="$CURRENT_PATH/../../../../var" # Do not install MySQL if we are in docker (It will be used a docker container instead) or we are explicitly skipping it. if [[ $DOCKER != 1 && $SKIP_MYSQL_INSTALL != 1 ]]; then - # run noninteractive install for MYSQL 8.4 LTS - wget https://dev.mysql.com/get/mysql-apt-config_0.8.35-1_all.deb -P "$VAR_PATH" - # resolve expired key issue - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C - DEBIAN_FRONTEND="noninteractive" $SUDO dpkg -i "$VAR_PATH/mysql-apt-config_0.8.35-1_all.deb" - $SUDO apt-get update + if [[ "$UBUNTU_VERSION" == "24.04" ]]; then + # run noninteractive install for MYSQL 8.4 LTS + wget https://dev.mysql.com/get/mysql-apt-config_0.8.35-1_all.deb -P "$VAR_PATH" + # resolve expired key issue + sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C + DEBIAN_FRONTEND="noninteractive" $SUDO dpkg -i "$VAR_PATH/mysql-apt-config_0.8.35-1_all.deb" + $SUDO apt-get update + fi DEBIAN_FRONTEND="noninteractive" $SUDO apt-get install -y mysql-server fi diff --git a/deps/g3dlite/include/G3D/platform.h b/deps/g3dlite/include/G3D/platform.h index d043f2149..1c660efef 100644 --- a/deps/g3dlite/include/G3D/platform.h +++ b/deps/g3dlite/include/G3D/platform.h @@ -360,7 +360,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) {\ // Bring in shared_ptr and weak_ptr #if (defined(__GNUC__) && defined(__APPLE__)) || defined(__linux__) -#include // Defines _LIBCC_VERSION if linking against libc++ or does nothing +#include // Defines _LIBCC_VERSION if linking against libc++ or does nothing #endif #if (!defined(_LIBCPP_VERSION) && defined(__APPLE__)) || (!defined(_LIBCPP_VERSION) && defined(__linux__)) # include diff --git a/src/test/mocks/SpellInfoTestHelper.h b/src/test/mocks/SpellInfoTestHelper.h index 2b5a14eca..436135be1 100644 --- a/src/test/mocks/SpellInfoTestHelper.h +++ b/src/test/mocks/SpellInfoTestHelper.h @@ -32,9 +32,6 @@ class TestSpellEntryHelper public: TestSpellEntryHelper() { - // Zero initialize all fields - std::memset(&_entry, 0, sizeof(_entry)); - // Set safe defaults _entry.EquippedItemClass = -1; _entry.SchoolMask = SPELL_SCHOOL_MASK_NORMAL; @@ -154,7 +151,7 @@ public: } private: - SpellEntry _entry; + SpellEntry _entry{}; }; /**