ci(build): support Ubuntu 26.04 (#25836)
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Co-authored-by: sudlud <sudlud@users.noreply.github.com>
This commit is contained in:
+4
-4
@@ -23,10 +23,10 @@ We support the following versions of dependencies.
|
|||||||
### Supported Operating Systems
|
### Supported Operating Systems
|
||||||
|
|
||||||
| Linux (Ubuntu) | Status | Recommended |
|
| Linux (Ubuntu) | Status | Recommended |
|
||||||
| :------------- | :----------------: | :------------------: |
|
|:---------------| :----------------: | :------------------: |
|
||||||
| 24.04 | :white_check_mark: | :large_blue_diamond: |
|
| 26.04 | :white_check_mark: | :large_blue_diamond: |
|
||||||
| 22.04 | :white_check_mark: | |
|
| 24.04 | :white_check_mark: | |
|
||||||
| 20.04 ≤ | :red_circle: | |
|
| 22.04 ≤ | :red_circle: | |
|
||||||
|
|
||||||
| macOS | Status | Recommended |
|
| macOS | Status | Recommended |
|
||||||
| :---- | :----------------: | :------------------: |
|
| :---- | :----------------: | :------------------: |
|
||||||
|
|||||||
@@ -64,23 +64,14 @@ runs:
|
|||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt remove needrestart #refer: https://github.com/actions/runner-images/issues/9937
|
sudo apt remove needrestart #refer: https://github.com/actions/runner-images/issues/9937
|
||||||
sudo apt-get -y install ccache clang cmake curl google-perftools \
|
sudo apt-get -y install ccache clang cmake curl \
|
||||||
libmysqlclient-dev make unzip build-essential cmake-data \
|
make unzip build-essential cmake-data \
|
||||||
libboost-all-dev libbz2-dev libncurses5-dev libmysql++-dev \
|
libboost-all-dev libbz2-dev libmysql++-dev \
|
||||||
libreadline6-dev libssl-dev libtool openssl zlib1g-dev
|
libreadline6-dev libssl-dev libtool openssl zlib1g-dev
|
||||||
|
if [[ "$(lsb_release -sr)" == "26.04" ]]; then
|
||||||
# Account for https://github.com/actions/runner-images/issues/8659
|
sudo apt-get -y install libgoogle-perftools-dev default-libmysqlclient-dev
|
||||||
# based off of https://github.com/actions/runner-images/issues/8659#issuecomment-1852353116
|
else
|
||||||
UBUNTU_VERSION="$(grep VERSION_ID /etc/os-release | cut -f2 -d\")"
|
sudo apt-get -y install google-perftools libmysqlclient-dev libncurses5-dev
|
||||||
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
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: setup ccache
|
- name: setup ccache
|
||||||
|
|||||||
@@ -30,10 +30,6 @@ jobs:
|
|||||||
fail-fast: true
|
fail-fast: true
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-22.04
|
|
||||||
compiler:
|
|
||||||
CC: clang-15
|
|
||||||
CXX: clang++-15
|
|
||||||
- os: ubuntu-24.04
|
- os: ubuntu-24.04
|
||||||
compiler:
|
compiler:
|
||||||
CC: clang-18
|
CC: clang-18
|
||||||
@@ -42,6 +38,10 @@ jobs:
|
|||||||
compiler:
|
compiler:
|
||||||
CC: gcc-14
|
CC: gcc-14
|
||||||
CXX: g++-14
|
CXX: g++-14
|
||||||
|
- os: ubuntu-26.04
|
||||||
|
compiler:
|
||||||
|
CC: clang-20
|
||||||
|
CXX: clang++-20
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
name: ${{ matrix.os }}-${{ matrix.compiler.CC }}-nopch
|
name: ${{ matrix.os }}-${{ matrix.compiler.CC }}-nopch
|
||||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||||
|
|||||||
@@ -30,14 +30,14 @@ jobs:
|
|||||||
fail-fast: true
|
fail-fast: true
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-22.04
|
|
||||||
compiler:
|
|
||||||
CC: clang-15
|
|
||||||
CXX: clang++-15
|
|
||||||
- os: ubuntu-24.04
|
- os: ubuntu-24.04
|
||||||
compiler:
|
compiler:
|
||||||
CC: clang-18
|
CC: clang-18
|
||||||
CXX: clang++-18
|
CXX: clang++-18
|
||||||
|
- os: ubuntu-26.04
|
||||||
|
compiler:
|
||||||
|
CC: clang-20
|
||||||
|
CXX: clang++-20
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
name: ${{ matrix.os }}-${{ matrix.compiler.CC }}-pch
|
name: ${{ matrix.os }}-${{ matrix.compiler.CC }}-pch
|
||||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||||
|
|||||||
@@ -41,8 +41,8 @@ jobs:
|
|||||||
fail-fast: true
|
fail-fast: true
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-22.04
|
|
||||||
- os: ubuntu-24.04
|
- os: ubuntu-24.04
|
||||||
|
- os: ubuntu-26.04
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||||
steps:
|
steps:
|
||||||
@@ -73,8 +73,8 @@ jobs:
|
|||||||
fail-fast: true
|
fail-fast: true
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-22.04
|
|
||||||
- os: ubuntu-24.04
|
- os: ubuntu-24.04
|
||||||
|
- os: ubuntu-26.04
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -12,15 +12,15 @@ fi
|
|||||||
UBUNTU_VERSION=$(lsb_release -sr);
|
UBUNTU_VERSION=$(lsb_release -sr);
|
||||||
|
|
||||||
case $UBUNTU_VERSION in
|
case $UBUNTU_VERSION in
|
||||||
"22.04")
|
|
||||||
;;
|
|
||||||
"24.04")
|
"24.04")
|
||||||
;;
|
;;
|
||||||
|
"26.04")
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "########## ########## ##########"
|
echo "########## ########## ##########"
|
||||||
echo ""
|
echo ""
|
||||||
echo " using unsupported Ubuntu version " $UBUNTU_VERSION
|
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 ""
|
||||||
echo "########## ########## ##########"
|
echo "########## ########## ##########"
|
||||||
;;
|
;;
|
||||||
@@ -30,21 +30,32 @@ $SUDO apt update
|
|||||||
|
|
||||||
# shared deps
|
# shared deps
|
||||||
DEBIAN_FRONTEND="noninteractive" $SUDO \
|
DEBIAN_FRONTEND="noninteractive" $SUDO \
|
||||||
apt-get -y install ccache clang cmake curl google-perftools libmysqlclient-dev make unzip jq screen tmux \
|
apt-get -y install ccache clang cmake curl make unzip jq screen tmux \
|
||||||
libreadline-dev libncurses5-dev libncursesw5-dev libbz2-dev git gcc g++ libssl-dev \
|
libreadline-dev libbz2-dev git gcc g++ libssl-dev \
|
||||||
libncurses-dev libboost-all-dev gdb gdbserver expect
|
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"
|
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.
|
# 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
|
if [[ $DOCKER != 1 && $SKIP_MYSQL_INSTALL != 1 ]]; then
|
||||||
# run noninteractive install for MYSQL 8.4 LTS
|
if [[ "$UBUNTU_VERSION" == "24.04" ]]; then
|
||||||
wget https://dev.mysql.com/get/mysql-apt-config_0.8.35-1_all.deb -P "$VAR_PATH"
|
# run noninteractive install for MYSQL 8.4 LTS
|
||||||
# resolve expired key issue
|
wget https://dev.mysql.com/get/mysql-apt-config_0.8.35-1_all.deb -P "$VAR_PATH"
|
||||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
# resolve expired key issue
|
||||||
DEBIAN_FRONTEND="noninteractive" $SUDO dpkg -i "$VAR_PATH/mysql-apt-config_0.8.35-1_all.deb"
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||||
$SUDO apt-get update
|
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
|
DEBIAN_FRONTEND="noninteractive" $SUDO apt-get install -y mysql-server
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -360,7 +360,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) {\
|
|||||||
|
|
||||||
// Bring in shared_ptr and weak_ptr
|
// Bring in shared_ptr and weak_ptr
|
||||||
#if (defined(__GNUC__) && defined(__APPLE__)) || defined(__linux__)
|
#if (defined(__GNUC__) && defined(__APPLE__)) || defined(__linux__)
|
||||||
#include <ciso646> // Defines _LIBCC_VERSION if linking against libc++ or does nothing
|
#include <version> // Defines _LIBCC_VERSION if linking against libc++ or does nothing
|
||||||
#endif
|
#endif
|
||||||
#if (!defined(_LIBCPP_VERSION) && defined(__APPLE__)) || (!defined(_LIBCPP_VERSION) && defined(__linux__))
|
#if (!defined(_LIBCPP_VERSION) && defined(__APPLE__)) || (!defined(_LIBCPP_VERSION) && defined(__linux__))
|
||||||
# include <tr1/memory>
|
# include <tr1/memory>
|
||||||
|
|||||||
@@ -32,9 +32,6 @@ class TestSpellEntryHelper
|
|||||||
public:
|
public:
|
||||||
TestSpellEntryHelper()
|
TestSpellEntryHelper()
|
||||||
{
|
{
|
||||||
// Zero initialize all fields
|
|
||||||
std::memset(&_entry, 0, sizeof(_entry));
|
|
||||||
|
|
||||||
// Set safe defaults
|
// Set safe defaults
|
||||||
_entry.EquippedItemClass = -1;
|
_entry.EquippedItemClass = -1;
|
||||||
_entry.SchoolMask = SPELL_SCHOOL_MASK_NORMAL;
|
_entry.SchoolMask = SPELL_SCHOOL_MASK_NORMAL;
|
||||||
@@ -154,7 +151,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SpellEntry _entry;
|
SpellEntry _entry{};
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user