Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'v0.5.0.1-rc1' into no-pullrequest-dedicated-server-v0.5
Browse files Browse the repository at this point in the history
0.5.0.1 Release Candidate 1
o01eg committed Mar 5, 2024

Verified

This commit was signed with the committer’s verified signature. The key has expired.
o01eg O01eg
2 parents 19b3596 + 59084db commit 56aba65
Showing 26 changed files with 387 additions and 98 deletions.
5 changes: 3 additions & 2 deletions .github/ISSUE_TEMPLATE/release.md
Original file line number Diff line number Diff line change
@@ -51,7 +51,8 @@ doing the actual release.
* [ ] Create a new GitHub Issue from `.github/RELEASE_TEMPLATE.md` and follow
instructions. :wink:
* [ ] Determine initial milestones and dates for release.
* [ ] Update `packaging/org.freeorion.FreeOrion.metainfo.xml` and linked screenshots if necessary
* [ ] Add the new release in `packaging/org.freeorion.FreeOrion.metainfo.xml`
* [ ] Update the screenshots in `packaging/org.freeorion.FreeOrion.metainfo.xml` if necessary
* [ ] Create release branch from development branch master by using:
```
git checkout -b release-vX.Y.Z master
@@ -105,7 +106,7 @@ git tag --annotate --message="X.Y.Z Stable Release" vX.Y.Z

#### Cleanup

* [ ] Cherry-pick updates of `ChangeLog.md` to master.
* [ ] Cherry-pick updates of `ChangeLog.md` to master.
* [ ] Prune release candidate tags.
* [ ] Prune release branch.

3 changes: 2 additions & 1 deletion .github/actions/cmake-build/action.yml
Original file line number Diff line number Diff line change
@@ -32,6 +32,7 @@ runs:
- name: Configure
shell: pwsh
run: |
Remove-Item -LiteralPath "C:/hostedtoolcache/windows/Python/" -Force -Recurse # Ensure that system Python is not used
unzip -q ../${{ steps.download-sdk.outputs.filename }} -d ..
mkdir build
pushd build
@@ -51,7 +52,7 @@ runs:
id: download-godot
uses: suisei-cn/[email protected]
with:
url: https://downloads.tuxfamily.org/godotengine/3.2.3/Godot_v3.2.3-stable_win32.exe.zip
url: https://github.com/godotengine/godot-builds/releases/download/3.2.3-stable/Godot_v3.2.3-stable_win32.exe.zip
target: ../
- name: Download Mesa
id: download-mesa
53 changes: 53 additions & 0 deletions .github/debian-oldstable/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
FROM docker.io/debian:oldstable-slim

ENV DEBIAN_FRONTEND=noninteractive

RUN echo "# don't install documentation inside container\n\
path-exclude=/usr/share/doc/*\n\
path-exclude=/usr/share/man/*\n\
path-exclude=/usr/share/cmake-3.18/Help/*\n\
" > /etc/dpkg/dpkg.cfg.d/docker-no-documentation

RUN echo "# don't install static libraries inside container\n\
path-exclude=/usr/lib/x86_64-linux-gnu/*.a\n\
path-exclude=/usr/lib/python3.9/config-x86_64-linux-gnu/*.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libc_nonshared.a\n\
path-include=/usr/lib/gcc/x86_64-linux-gnu/11/libgcc.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libmvec_nonshared.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libpthread.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libpthread-2.0.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libpthread_nonshared.a\n\
" > /etc/dpkg/dpkg.cfg.d/docker-no-static-libraries

RUN echo "# don't install recommends and suggests packages\n\
APT::Install-Recommends \"false\";\n\
APT::Install-Suggests \"false\";\n\
" > /etc/apt/apt.conf.d/docker-no-suggests

RUN apt-get update --assume-yes
RUN apt-get install --assume-yes \
git \
g++ \
make \
cmake \
python3 \
ccache \
coreutils \
libpython3-dev \
libfreetype-dev \
libglew-dev \
libopenal-dev \
libogg-dev \
libvorbis-dev \
zlib1g-dev \
libsdl2-dev \
mesa-common-dev \
libpng-dev \
libboost-all-dev \
godot3-server \
libboost-all-dev \
libjpeg-dev \
libtiff-dev \
&& rm -rf \
/var/lib/apt/lists/*

53 changes: 53 additions & 0 deletions .github/debian-sid-i386/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
FROM i386/debian:sid-slim

ENV DEBIAN_FRONTEND=noninteractive

RUN echo "# don't install documentation inside container\n\
path-exclude=/usr/share/doc/*\n\
path-exclude=/usr/share/man/*\n\
path-exclude=/usr/share/cmake-3.18/Help/*\n\
" > /etc/dpkg/dpkg.cfg.d/docker-no-documentation

RUN echo "# don't install static libraries inside container\n\
path-exclude=/usr/lib/i386-linux-gnu/*.a\n\
path-exclude=/usr/lib/python3.9/config-i386-linux-gnu/*.a\n\
path-include=/usr/lib/i386-linux-gnu/libc_nonshared.a\n\
path-include=/usr/lib/gcc/i386-linux-gnu/11/libgcc.a\n\
path-include=/usr/lib/i386-linux-gnu/libmvec_nonshared.a\n\
path-include=/usr/lib/i386-linux-gnu/libpthread.a\n\
path-include=/usr/lib/i386-linux-gnu/libpthread-2.0.a\n\
path-include=/usr/lib/i386-linux-gnu/libpthread_nonshared.a\n\
" > /etc/dpkg/dpkg.cfg.d/docker-no-static-libraries

RUN echo "# don't install recommends and suggests packages\n\
APT::Install-Recommends \"false\";\n\
APT::Install-Suggests \"false\";\n\
" > /etc/apt/apt.conf.d/docker-no-suggests

RUN apt-get update --assume-yes
RUN apt-get install --assume-yes \
git \
g++ \
make \
cmake \
python3 \
ccache \
coreutils \
libpython3-dev \
libfreetype-dev \
libglew-dev \
libopenal-dev \
libogg-dev \
libvorbis-dev \
zlib1g-dev \
libsdl2-dev \
mesa-common-dev \
libpng-dev \
libboost-all-dev \
godot3-server \
libboost-all-dev \
libjpeg-dev \
libtiff-dev \
&& rm -rf \
/var/lib/apt/lists/*

60 changes: 60 additions & 0 deletions .github/debian-sid/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
FROM docker.io/debian:sid-slim

ENV DEBIAN_FRONTEND=noninteractive

RUN echo "# don't install documentation inside container\n\
path-exclude=/usr/share/doc/*\n\
path-exclude=/usr/share/man/*\n\
path-exclude=/usr/share/cmake-3.18/Help/*\n\
" > /etc/dpkg/dpkg.cfg.d/docker-no-documentation

RUN echo "# don't install static libraries inside container\n\
path-exclude=/usr/lib/x86_64-linux-gnu/*.a\n\
path-exclude=/usr/lib/python3.9/config-x86_64-linux-gnu/*.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libc_nonshared.a\n\
path-include=/usr/lib/gcc/x86_64-linux-gnu/11/libgcc.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libmvec_nonshared.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libpthread.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libpthread-2.0.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libpthread_nonshared.a\n\
" > /etc/dpkg/dpkg.cfg.d/docker-no-static-libraries

RUN echo "# don't install recommends and suggests packages\n\
APT::Install-Recommends \"false\";\n\
APT::Install-Suggests \"false\";\n\
" > /etc/apt/apt.conf.d/docker-no-suggests

# add experimental repository to test issue https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1037667
RUN echo "deb http://deb.debian.org/debian experimental main\n\
" >> /etc/apt/sources.list

RUN apt-get update --assume-yes
# install experimental g++ to test issue https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1037667
#RUN apt-get -t=experimental install --assume-yes g++ binutils # broken binutils dependency
RUN apt-get install --assume-yes \
git \
g++ \
make \
cmake \
python3 \
ccache \
coreutils \
libpython3-dev \
libfreetype-dev \
libglew-dev \
libopenal-dev \
libogg-dev \
libvorbis-dev \
zlib1g-dev \
libsdl2-dev \
mesa-common-dev \
libpng-dev \
libboost-all-dev \
godot3-server \
libboost-all-dev \
libjpeg-dev \
libtiff-dev \
&& rm -rf \
/var/lib/apt/lists/*


53 changes: 53 additions & 0 deletions .github/debian-stable/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
FROM docker.io/debian:stable-slim

ENV DEBIAN_FRONTEND=noninteractive

RUN echo "# don't install documentation inside container\n\
path-exclude=/usr/share/doc/*\n\
path-exclude=/usr/share/man/*\n\
path-exclude=/usr/share/cmake-3.18/Help/*\n\
" > /etc/dpkg/dpkg.cfg.d/docker-no-documentation

RUN echo "# don't install static libraries inside container\n\
path-exclude=/usr/lib/x86_64-linux-gnu/*.a\n\
path-exclude=/usr/lib/python3.9/config-x86_64-linux-gnu/*.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libc_nonshared.a\n\
path-include=/usr/lib/gcc/x86_64-linux-gnu/11/libgcc.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libmvec_nonshared.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libpthread.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libpthread-2.0.a\n\
path-include=/usr/lib/x86_64-linux-gnu/libpthread_nonshared.a\n\
" > /etc/dpkg/dpkg.cfg.d/docker-no-static-libraries

RUN echo "# don't install recommends and suggests packages\n\
APT::Install-Recommends \"false\";\n\
APT::Install-Suggests \"false\";\n\
" > /etc/apt/apt.conf.d/docker-no-suggests

RUN apt-get update --assume-yes
RUN apt-get install --assume-yes \
git \
g++ \
make \
cmake \
python3 \
ccache \
coreutils \
libpython3-dev \
libfreetype-dev \
libglew-dev \
libopenal-dev \
libogg-dev \
libvorbis-dev \
zlib1g-dev \
libsdl2-dev \
mesa-common-dev \
libpng-dev \
libboost-all-dev \
godot3-server \
libboost-all-dev \
libjpeg-dev \
libtiff-dev \
&& rm -rf \
/var/lib/apt/lists/*

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM docker.io/ubuntu:kinetic
FROM docker.io/ubuntu:lunar

ENV DEBIAN_FRONTEND=noninteractive

10 changes: 4 additions & 6 deletions .github/workflows/build-android.yml
Original file line number Diff line number Diff line change
@@ -28,14 +28,13 @@ jobs:
generate-godot-api:
name: Generate Godot API
runs-on: ubuntu-latest
if: false # Disable until https://github.com/bend-n/godot-builds/issues/2 will be fixed
container:
image: ghcr.io/bend-n/godot:3.5.2
steps:
- name: Setup
uses: bend-n/godot-actions/.github/actions/setup-godot@main
env:
GODOT_VERSION: 3.5
GODOT_VERSION: 3.5.2
- name: Generate API file
run: |
timeout 1m godot --no-window --disable-render-loop --video-driver Dummy --gdnative-generate-json-api godot-api.json
@@ -49,7 +48,7 @@ jobs:
build-android:
name: Android ${{ matrix.arch }}
runs-on: ubuntu-latest
# needs: generate-godot-api
needs: generate-godot-api
strategy:
matrix:
arch: [x86, x86_64, armeabi-v7a, arm64-v8a]
@@ -58,7 +57,6 @@ jobs:
uses: actions/checkout@v3
- name: Dowload Godot API
uses: actions/download-artifact@v3
if: false
with:
name: godot-api
path: .
@@ -76,11 +74,11 @@ jobs:
- name: Configure
run: |
unzip -q ../${{ steps.download-sdk.outputs.filename }} -d ..
# GODOT_API_JSON=$(realpath godot-api.json)
GODOT_API_JSON=$(realpath godot-api.json)
mkdir build
pushd build
FO_SDK=$(realpath ../..)
cmake -DANDROID_ABI=${{ matrix.arch }} -DANDROID_PLATFORM=24 -DANDROID_NDK=${{ steps.setup-ndk.outputs.ndk-path }} -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake -DCMAKE_CXX_FLAGS=-std=c++14 -DANDROID_ALLOW_UNDEFINED_SYMBOLS=Off -DBUILD_SERVER=OFF -DBUILD_AI=OFF -DBUILD_CLIENT_GG=OFF -DBoost_INCLUDE_DIR=${FO_SDK}/include/ -DBoost_USE_STATIC_LIBS=On -DBoost_LIBRARY_DIR=${FO_SDK}/lib/ -DBUILD_CLIENT_GODOT=On -DICUI18N_LIBRARY=${FO_SDK}/lib/libicui18n.a -DICUUC_LIBRARY=${FO_SDK}/lib/libicuuc.a -DICUDATA_LIBRARY=${FO_SDK}/lib/libicudata.a -DICONV_LIBRARY=${FO_SDK}/lib/libiconv.so -DPYTHON_LIBRARY=${FO_SDK}/lib/libpython3.9.a -DPYTHON_INCLUDE_DIR=${FO_SDK}/include/python3.9/ .. # -DGODOT_CUSTOM_API_FILE=${GODOT_API_JSON} ..
cmake -DANDROID_ABI=${{ matrix.arch }} -DANDROID_PLATFORM=24 -DANDROID_NDK=${{ steps.setup-ndk.outputs.ndk-path }} -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake -DCMAKE_CXX_FLAGS=-std=c++14 -DANDROID_ALLOW_UNDEFINED_SYMBOLS=Off -DBUILD_SERVER=OFF -DBUILD_AI=OFF -DBUILD_CLIENT_GG=OFF -DBoost_INCLUDE_DIR=${FO_SDK}/include/ -DBoost_USE_STATIC_LIBS=On -DBoost_LIBRARY_DIR=${FO_SDK}/lib/ -DBUILD_CLIENT_GODOT=On -DICUI18N_LIBRARY=${FO_SDK}/lib/libicui18n.a -DICUUC_LIBRARY=${FO_SDK}/lib/libicuuc.a -DICUDATA_LIBRARY=${FO_SDK}/lib/libicudata.a -DICONV_LIBRARY=${FO_SDK}/lib/libiconv.so -DPYTHON_LIBRARY=${FO_SDK}/lib/libpython3.9.a -DPYTHON_INCLUDE_DIR=${FO_SDK}/include/python3.9/ -DGODOT_CUSTOM_API_FILE=${GODOT_API_JSON} ..
- name: Build
run: |
pushd build
25 changes: 19 additions & 6 deletions .github/workflows/build-docker.yml
Original file line number Diff line number Diff line change
@@ -24,11 +24,20 @@ on:

jobs:
build-docker:
timeout-minutes: 55
name: Docker ${{ matrix.image }}
runs-on: ubuntu-latest
strategy:
matrix:
image: [ubuntu-22.10, fedora-32, fedora-rawhide, manjaro]
image:
- ubuntu-23.04
- fedora-32
- debian-oldstable
- debian-stable
- debian-sid
- debian-sid-i386
- manjaro
- fedora-rawhide
env:
CACHE_NAME: linux
steps:
@@ -79,15 +88,19 @@ jobs:
run: |
docker run -v "$(pwd):/freeorion" -v "${{ runner.temp }}/ccache:/ccache_dir" -e CCACHE_DIR='/ccache_dir' -w /freeorion/build ${{ steps.prep.outputs.tagged_image }} /freeorion/build/godot --gdnative-generate-json-api /freeorion/build/godot-api.json
- name: Generate godot API file
if: ${{ matrix.image == 'manjaro' }}
if: ${{ matrix.image == 'manjaro' && false }} # Manjaro stopped to support Godot 3
run: |
docker run -v "$(pwd):/freeorion" -v "${{ runner.temp }}/ccache:/ccache_dir" -e CCACHE_DIR='/ccache_dir' -w /freeorion/build ${{ steps.prep.outputs.tagged_image }} /usr/bin/xvfb-run /freeorion/build/godot --no-window --disable-render-loop --video-driver GLES2 --gdnative-generate-json-api /freeorion/build/godot-api.json
- name: Configure freeorion
if: ${{ matrix.image == 'ubuntu-22.10' }}
if: ${{ matrix.image == 'ubuntu-23.04' }}
run: |
docker run -v "$(pwd):/freeorion" -v "${{ runner.temp }}/ccache:/ccache_dir" -e CCACHE_DIR='/ccache_dir' -w /freeorion/build ${{ steps.prep.outputs.tagged_image }} /usr/bin/cmake -DBUILD_CLIENT_GODOT=ON -DGODOT_CUSTOM_API_FILE=/freeorion/build/godot-api.json -DBUILD_TESTING=ON -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12 ..
- name: Configure freeorion
if: ${{ matrix.image != 'ubuntu-22.10' }}
if: ${{ matrix.image == 'manjaro' }}
run: |
docker run -v "$(pwd):/freeorion" -v "${{ runner.temp }}/ccache:/ccache_dir" -e CCACHE_DIR='/ccache_dir' -w /freeorion/build ${{ steps.prep.outputs.tagged_image }} /usr/bin/cmake -DBUILD_CLIENT_GODOT=Off -DBUILD_TESTING=ON ..
- name: Configure freeorion
if: ${{ matrix.image != 'ubuntu-23.04' && matrix.image != 'manjaro' }}
run: |
docker run -v "$(pwd):/freeorion" -v "${{ runner.temp }}/ccache:/ccache_dir" -e CCACHE_DIR='/ccache_dir' -w /freeorion/build ${{ steps.prep.outputs.tagged_image }} /usr/bin/cmake -DBUILD_CLIENT_GODOT=ON -DGODOT_CUSTOM_API_FILE=/freeorion/build/godot-api.json -DBUILD_TESTING=ON ..
- name: Build freeorion
@@ -97,10 +110,10 @@ jobs:
run: |
docker run -v "$(pwd):/freeorion" -v "${{ runner.temp }}/ccache:/ccache_dir" -e CCACHE_DIR='/ccache_dir' -e FO_TEST_HOSTLESS_GAMES=1 -w /freeorion/build ${{ steps.prep.outputs.tagged_image }} /usr/bin/cmake --build . --target unittest
- name: Run godot
if: ${{ matrix.image != 'fedora-32' && matrix.image != 'manjaro' }} # old Godot 3.1 && no headless mode
if: ${{ matrix.image != 'fedora-32' && matrix.image != 'manjaro' }} # old Godot 3.1 in Fedora 32 && no headless mode
run: |
docker run -v "$(pwd):/freeorion" -v "${{ runner.temp }}/ccache:/ccache_dir" -e CCACHE_DIR='/ccache_dir' -w /freeorion/ ${{ steps.prep.outputs.tagged_image }} /freeorion/build/godot --disable-render-loop --verbose -s --path godot addons/gut/gut_cmdln.gd -gdir=res://test/ -ginclude_subdirs -gexit
- name: Run godot
if: ${{ matrix.image == 'manjaro' }}
if: ${{ matrix.image == 'manjaro' && false }} # Manjaro stopped to support Godot 3
run: |
docker run -v "$(pwd):/freeorion" -v "${{ runner.temp }}/ccache:/ccache_dir" -e CCACHE_DIR='/ccache_dir' -w /freeorion/ ${{ steps.prep.outputs.tagged_image }} /usr/bin/xvfb-run /freeorion/build/godot --no-window --disable-render-loop --video-driver GLES2 --verbose -s --path godot addons/gut/gut_cmdln.gd -gdir=res://test/ -ginclude_subdirs -gexit
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -59,7 +59,6 @@ include(CPackComponent)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)

option(BUILD_SHARED_LIBS "Build project as shared libraries." ON)
@@ -348,7 +347,7 @@ set_property(DIRECTORY APPEND
# Forcing backtrace using api for boost stacktrace due to lacking on ::Unwind side
$<$<PLATFORM_ID:FreeBSD>:BOOST_STACKTRACE_USE_LIBC_BACKTRACE_FUNCTION>
# Workaround for boost 1.81 issue https://github.com/boostorg/phoenix/issues/111
$<$<VERSION_EQUAL:${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION},1.81>:BOOST_PHOENIX_STL_TUPLE_H_>
$<$<VERSION_GREATER_EQUAL:${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION},1.81>:BOOST_PHOENIX_STL_TUPLE_H_>
)


@@ -717,6 +716,7 @@ if(BUILD_CLIENT_GODOT)
-D CMAKE_CONFIGURATION_TYPES=${GODOT_CPP_BUILD_TYPE}
-D CMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-D PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
-D Python3_EXECUTABLE=${PYTHON_EXECUTABLE}
${CL_ARGS}
INSTALL_COMMAND ""
)
Loading

0 comments on commit 56aba65

Please sign in to comment.