summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorbriaguya <70942617+briaguya-ai@users.noreply.github.com>2024-02-15 21:13:49 -0500
committerGitHub <noreply@github.com>2024-02-15 20:13:49 -0600
commit1bc15d5bf3042d4fd64e1952eb68c47a7d5d8061 (patch)
tree457ee652c4b70ce50a326f8cc548424711075a55 /.github
parente05f558ef33a9630a8dea003e5b191521fb5a7c2 (diff)
document dependencies per distro (#3933)
* start on arch * noconfirm * git * noconfirm * just skip cache * cmake * ninja * gcc * lsb * sdl2 * png * sdl net * boost * imagemagick and add opensuse * non interactive * git * cmake * add a bunch * things * more * try to matrix * soh otr i guess * needs * trying to figure out how matrix include works * make the matrix? * matrix debug * install? * echo? * yuck * cannot locate package false * parens for good measure * lsb * libsdl2 * suse * i forgot opensuse uses gcc-c++ instead of g++ for the package name * png * sdl * more * suse packages.... * fedora cmake * 2? * png * handle old sdl2 net * apt * not sure if this is a problem for both clang and gcc on opensuse or just clang * devel * cmake min version * def don't want this here but it's here for now * does this do anything * mantic because cmake version * libopengl? * fedora ninja * fedora g++ * lsb * fedora sdl * libpng * do a build * clang fix * give early returns values * ImageMagick * Update BUILDING.md * something * plain boost instead of devel? * not packing so we don't need this part * base? * don't have it can't need it * just use boost download on opensuse i guess * move workflow * bring back the file * lus main? * detach
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/test-builds-on-distros.yml61
1 files changed, 61 insertions, 0 deletions
diff --git a/.github/workflows/test-builds-on-distros.yml b/.github/workflows/test-builds-on-distros.yml
new file mode 100644
index 000000000..fd8b3c929
--- /dev/null
+++ b/.github/workflows/test-builds-on-distros.yml
@@ -0,0 +1,61 @@
+name: test-builds-on-distros
+on:
+ workflow_dispatch: # by request
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+jobs:
+ build:
+ strategy:
+ matrix:
+ image: ["archlinux:base", "opensuse/tumbleweed:latest", "ubuntu:mantic", "debian:bookworm", "fedora:39"]
+ cc: ["gcc", "clang"]
+ include:
+ - cxx: g++
+ cc: gcc
+ - cxx: clang++
+ cc: clang
+ runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }}
+ container:
+ image: ${{ matrix.image }}
+ steps:
+ - name: Install dependencies (pacman)
+ if: ${{ matrix.image == 'archlinux:base' }}
+ run: |
+ echo arch
+ echo pacman -S ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng sdl2_net boost
+ pacman -Syu --noconfirm
+ pacman -S --noconfirm ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng sdl2_net boost
+ - name: Install dependencies (dnf)
+ if: ${{ matrix.image == 'fedora:39' }}
+ run: |
+ echo fedora
+ echo dnf install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} git cmake ninja-build lsb_release SDL2-devel libpng-devel boost-devel
+ dnf -y upgrade
+ dnf -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} git cmake ninja-build lsb_release SDL2-devel libpng-devel boost-devel
+ - name: Install dependencies (apt)
+ if: ${{ matrix.image == 'ubuntu:mantic' || matrix.image == 'debian:bookworm' }}
+ run: |
+ echo debian based
+ echo apt-get install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libboost-dev libopengl-dev
+ apt-get update
+ apt-get -y full-upgrade
+ apt-get -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libboost-dev libopengl-dev
+ - name: Install dependencies (zypper)
+ if: ${{ matrix.image == 'opensuse/tumbleweed:latest' }}
+ run: |
+ echo openSUSE
+ echo zypper in ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} ${{ matrix.cc == 'clang' && 'libstdc++-devel' || '' }} git cmake ninja SDL2-devel libpng16-devel
+ zypper --non-interactive dup
+ zypper --non-interactive in ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} ${{ matrix.cc == 'clang' && 'libstdc++-devel' || '' }} git cmake ninja SDL2-devel libpng16-devel
+ - uses: actions/checkout@v3
+ with:
+ submodules: true
+ - name: Build SoH
+ run: |
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
+ cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_REMOTE_CONTROL=1
+ cmake --build build-cmake --config Release -j3
+ env:
+ CC: ${{ matrix.cc }}
+ CXX: ${{ matrix.cxx }}