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
|
||||
matrix:
|
||||
arch: [x64]
|
||||
os: [ubuntu-18.04, ubuntu-latest]
|
||||
os: [ubuntu-20.04, ubuntu-22.04]
|
||||
compiler: [gcc, clang]
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
env:
|
||||
MATRIX_COMPILER: ${{matrix.compiler}}
|
||||
MATRIX_OS: ${{matrix.os}}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- name: Get dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt-get update && sudo apt-get upgrade
|
||||
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
|
||||
if: ${{ matrix.compiler == 'gcc' }}
|
||||
env:
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
run: mk/linux/build-mg.sh
|
||||
|
||||
- name: Bulid MegaGlest With Clang Compiler
|
||||
if: ${{ matrix.compiler == 'clang' }}
|
||||
env:
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
run: mk/linux/build-mg.sh
|
||||
|
||||
- name: Prepare Snapshot
|
||||
if: ${{ matrix.compiler == 'gcc' && matrix.os == 'ubuntu-latest' }}
|
||||
build-linux-other:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler: [10, 12] # 11 is on 22.04 by default, tested above
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
CC: gcc-${{matrix.compiler}}
|
||||
CXX: g++-${{matrix.compiler}}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Get dependencies
|
||||
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
|
||||
if: ${{ matrix.compiler == 'gcc' && matrix.os == 'ubuntu-latest' }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
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
|
||||
sudo apt-get update && sudo apt-get upgrade
|
||||
sudo apt-get install -y $CXX
|
||||
sudo mk/linux/setupBuildDeps.sh
|
||||
- name: Build
|
||||
run: |
|
||||
mk/linux/build-mg.sh -d -m
|
||||
make -C mk/linux/build -j$(nproc) VERBOSE=1
|
||||
|
||||
build-win64:
|
||||
# The CMake configure and build commands are platform agnostic and should work equally
|
||||
|
@ -75,7 +72,7 @@ jobs:
|
|||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache Vcpkg Libs
|
||||
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
|
||||
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)
|
||||
#name > bionic
|
||||
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"
|
||||
;;
|
||||
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"
|
||||
"18.04"|"20.04"|"22.04")
|
||||
#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-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"
|
||||
|
@ -177,7 +173,7 @@ case $distribution in
|
|||
case $release in
|
||||
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 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"
|
||||
|
@ -185,7 +181,7 @@ case $distribution in
|
|||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
|
||||
LinuxMint|Linuxmint)
|
||||
case $release in
|
||||
2)
|
||||
|
|
Loading…
Reference in New Issue