workflows/cmake.yml:add tests for recent gcc versions;migrate to checkoutv3 (#250)
* workflows/cmake.yml:test on Ubuntu Jammy (22.04);migrate to checkoutv3 This should also fix #247 * maybe fix ssh link error on Ubuntu Jammy gcc and clang build is failing on Jammy with the message: 'cannot find -lssh: No such file or directory' Basically I added libcurl-openssl-dev to the deps * remove libcurl4-gnutls-dev Trying to correct: The following packages have unmet dependencies: libcurl4-gnutls-dev : Conflicts: libcurl4-openssl-dev but 7.81.0-1ubuntu1.3 is to be installed libcurl4-openssl-dev : Conflicts: libcurl4-gnutls-dev but 7.81.0-1ubuntu1.3 is to be installed E: Unable to correct problems, you have held broken packages. An error occurred while installing build dependencies. * use cmake FindCURL module * for OpenSSL, use include instead of find_package * remove jammy, add gcc-10 and 11 test * revert now-unrelated changes * clean-up * add VERBOSE flag to make * Update .github/workflows/cmake.yml * Update .github/workflows/cmake.yml * use '-f' option from build script to force clang * force dynamic libs with '-d' fixes #251 * mk/linux/setupBuildDeps.sh:fix script so 22.04 is detected *remove vlc deps (not required for the CI) *remove ubuntu-18.04 from the build matrix, see https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/ * revert removal of commented macos jobs * run apt-get update and upgrade * cleanup Prep snapshot section
This commit is contained in:
parent
5b443a4c08
commit
c4c426ed74
|
@ -15,49 +15,46 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
arch: [x64]
|
arch: [x64]
|
||||||
os: [ubuntu-18.04, ubuntu-latest]
|
os: [ubuntu-20.04, ubuntu-22.04]
|
||||||
compiler: [gcc, clang]
|
compiler: [gcc, clang]
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
env:
|
||||||
|
MATRIX_COMPILER: ${{matrix.compiler}}
|
||||||
|
MATRIX_OS: ${{matrix.os}}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Get dependencies
|
- name: Get dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt-get update && sudo apt-get upgrade
|
||||||
sudo mk/linux/setupBuildDeps.sh
|
sudo mk/linux/setupBuildDeps.sh
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
if [ "${MATRIX_COMPILER}" = "clang" ]; then
|
||||||
|
EXTRA_OPTS="-f"
|
||||||
|
fi
|
||||||
|
mk/linux/build-mg.sh -m -d ${EXTRA_OPTS}
|
||||||
|
make -C mk/linux/build -j$(nproc) VERBOSE=1
|
||||||
|
|
||||||
- name: Bulid MegaGlest With GCC Compiler
|
build-linux-other:
|
||||||
if: ${{ matrix.compiler == 'gcc' }}
|
strategy:
|
||||||
env:
|
fail-fast: false
|
||||||
CC: gcc
|
matrix:
|
||||||
CXX: g++
|
compiler: [10, 12] # 11 is on 22.04 by default, tested above
|
||||||
run: mk/linux/build-mg.sh
|
runs-on: ubuntu-22.04
|
||||||
|
env:
|
||||||
- name: Bulid MegaGlest With Clang Compiler
|
CC: gcc-${{matrix.compiler}}
|
||||||
if: ${{ matrix.compiler == 'clang' }}
|
CXX: g++-${{matrix.compiler}}
|
||||||
env:
|
steps:
|
||||||
CC: clang
|
- uses: actions/checkout@v3
|
||||||
CXX: clang++
|
- name: Get dependencies
|
||||||
run: mk/linux/build-mg.sh
|
|
||||||
|
|
||||||
- name: Prepare Snapshot
|
|
||||||
if: ${{ matrix.compiler == 'gcc' && matrix.os == 'ubuntu-latest' }}
|
|
||||||
run: |
|
run: |
|
||||||
cp mk/shared/*.ini mk/linux/
|
sudo apt-get update && sudo apt-get upgrade
|
||||||
strip -g mk/linux/megaglest mk/linux/megaglest_editor mk/linux/megaglest_g3dviewer
|
sudo apt-get install -y $CXX
|
||||||
|
sudo mk/linux/setupBuildDeps.sh
|
||||||
- name: Create Mega Glest Snapshot
|
- name: Build
|
||||||
if: ${{ matrix.compiler == 'gcc' && matrix.os == 'ubuntu-latest' }}
|
run: |
|
||||||
uses: actions/upload-artifact@v2
|
mk/linux/build-mg.sh -d -m
|
||||||
with:
|
make -C mk/linux/build -j$(nproc) VERBOSE=1
|
||||||
name: megaglest-${{ matrix.arch }}-${{ matrix.os }}-${{ matrix.compiler }}
|
|
||||||
path: |
|
|
||||||
mk/linux/megaglest
|
|
||||||
mk/linux/megaglest_editor
|
|
||||||
mk/linux/megaglest_g3dviewer
|
|
||||||
mk/linux/*.ini
|
|
||||||
!mk/linux/glest-dev.ini
|
|
||||||
|
|
||||||
build-win64:
|
build-win64:
|
||||||
# The CMake configure and build commands are platform agnostic and should work equally
|
# The CMake configure and build commands are platform agnostic and should work equally
|
||||||
|
@ -75,7 +72,7 @@ jobs:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Cache Vcpkg Libs
|
- name: Cache Vcpkg Libs
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
name: Make Snapshot
|
||||||
|
concurrency:
|
||||||
|
group: build-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ develop ]
|
||||||
|
|
||||||
|
# The artifact only runs on the same distro that it was built on.
|
||||||
|
# TODO: make AppImage instead
|
||||||
|
jobs:
|
||||||
|
make-snapshot:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Get dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update && sudo apt-get upgrade
|
||||||
|
sudo mk/linux/setupBuildDeps.sh
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
mk/linux/build-mg.sh -m
|
||||||
|
make -C mk/linux/build -j$(nproc) VERBOSE=1
|
||||||
|
- name: Prepare Snapshot
|
||||||
|
run: |
|
||||||
|
cp mk/shared/*.ini mk/linux/
|
||||||
|
strip -g mk/linux/megaglest mk/linux/megaglest_editor mk/linux/megaglest_g3dviewer
|
||||||
|
- name: Create Mega Glest Snapshot
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: megaglest-x64-ubuntu-20.04-gcc
|
||||||
|
path: |
|
||||||
|
mk/linux/megaglest
|
||||||
|
mk/linux/megaglest_editor
|
||||||
|
mk/linux/megaglest_g3dviewer
|
||||||
|
mk/linux/*.ini
|
||||||
|
!mk/linux/glest-dev.ini
|
|
@ -159,13 +159,9 @@ case $distribution in
|
||||||
#name > zesty, EoL January 2018
|
#name > zesty, EoL January 2018
|
||||||
installcommand="apt-get install $APT_OPTIONS build-essential cmake libcurl4-gnutls-dev libsdl2-dev libopenal-dev liblua5.3-dev libjpeg-dev libpng-dev libfreetype6-dev libwxgtk3.0-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libvlc-dev libvlccore-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn11-dev libgnutls28-dev libnghttp2-dev libssh2-1-dev libidn2-dev libpsl-dev"
|
installcommand="apt-get install $APT_OPTIONS build-essential cmake libcurl4-gnutls-dev libsdl2-dev libopenal-dev liblua5.3-dev libjpeg-dev libpng-dev libfreetype6-dev libwxgtk3.0-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libvlc-dev libvlccore-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn11-dev libgnutls28-dev libnghttp2-dev libssh2-1-dev libidn2-dev libpsl-dev"
|
||||||
;;
|
;;
|
||||||
18.04)
|
"18.04"|"20.04"|"22.04")
|
||||||
#name > bionic
|
#name > Bionic, Focal Fossa, Jammy Jellyfish
|
||||||
installcommand="apt-get install $APT_OPTIONS build-essential cmake libcurl4-gnutls-dev libsdl2-dev libopenal-dev liblua5.3-dev libjpeg-dev libpng-dev libfreetype6-dev libwxgtk3.0-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libvlc-dev libvlccore-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn11-dev libgnutls28-dev libnghttp2-dev libssh2-1-dev libidn2-dev libpsl-dev"
|
installcommand="apt-get install $APT_OPTIONS build-essential cmake libcurl4-gnutls-dev libsdl2-dev libopenal-dev liblua5.3-dev libjpeg-dev libpng-dev libfreetype6-dev libwxgtk3.0-gtk3-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn2-dev libpsl-dev libgnutls28-dev libnghttp2-dev libssh-dev libbrotli-dev"
|
||||||
;;
|
|
||||||
20.04)
|
|
||||||
#name > Focal Fossa
|
|
||||||
installcommand="apt-get install $APT_OPTIONS build-essential cmake libcurl4-gnutls-dev libsdl2-dev libopenal-dev liblua5.3-dev libjpeg-dev libpng-dev libfreetype6-dev libwxgtk3.0-gtk3-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libvlc-dev libvlccore-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn2-dev libpsl-dev libgnutls28-dev libnghttp2-dev libssh-dev libbrotli-dev"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
installcommand="apt-get install $APT_OPTIONS $packages_for_next_debian_ubuntu_mint"
|
installcommand="apt-get install $APT_OPTIONS $packages_for_next_debian_ubuntu_mint"
|
||||||
|
@ -177,7 +173,7 @@ case $distribution in
|
||||||
case $release in
|
case $release in
|
||||||
20.04)
|
20.04)
|
||||||
#name > Focal Fossa
|
#name > Focal Fossa
|
||||||
installcommand="apt-get install $APT_OPTIONS build-essential cmake libcurl4-gnutls-dev libsdl2-dev libopenal-dev liblua5.3-dev libjpeg-dev libpng-dev libfreetype6-dev libwxgtk3.0-gtk3-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libvlc-dev libvlccore-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn2-dev libpsl-dev libgnutls28-dev libnghttp2-dev libssh-dev libbrotli-dev"
|
installcommand="apt-get install $APT_OPTIONS build-essential cmake libcurl4-gnutls-dev libsdl2-dev libopenal-dev liblua5.3-dev libjpeg-dev libpng-dev libfreetype6-dev libwxgtk3.0-gtk3-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn2-dev libpsl-dev libgnutls28-dev libnghttp2-dev libssh-dev libbrotli-dev"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
installcommand="apt-get install $APT_OPTIONS $packages_for_next_debian_ubuntu_mint"
|
installcommand="apt-get install $APT_OPTIONS $packages_for_next_debian_ubuntu_mint"
|
||||||
|
@ -185,7 +181,7 @@ case $distribution in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
LinuxMint|Linuxmint)
|
LinuxMint|Linuxmint)
|
||||||
case $release in
|
case $release in
|
||||||
2)
|
2)
|
||||||
|
|
Loading…
Reference in New Issue