mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
* Update zlibng * Set cmake path more directly in zlibng to hopefully fix an issue with the build on drone * I'm dumb, missing / in path * Mackal helps with a dumb gitignore issue * Adding all the files, not sure what's ignoring them and im tired of looking * Some tweaks to zlibng build to hopefully get it to build properly. works on msvc now
122 lines
3.8 KiB
YAML
122 lines
3.8 KiB
YAML
name: CI Pkgcheck
|
|
on: [push, pull_request]
|
|
jobs:
|
|
ci-pkgcheck:
|
|
name: ${{ matrix.name }}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: Ubuntu GCC
|
|
os: ubuntu-latest
|
|
compiler: gcc
|
|
|
|
- name: Ubuntu GCC -m32
|
|
os: ubuntu-latest
|
|
compiler: gcc
|
|
packages: gcc-multilib
|
|
cmake-args: -DCMAKE_C_FLAGS=-m32
|
|
cflags: -m32
|
|
ldflags: -m32
|
|
|
|
- name: Ubuntu GCC ARM HF
|
|
os: ubuntu-latest
|
|
chost: arm-linux-gnueabihf
|
|
compiler: arm-linux-gnueabihf-gcc
|
|
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DCMAKE_C_COMPILER_TARGET=arm-linux-gnueabihf
|
|
packages: qemu gcc-arm-linux-gnueabihf libc6-dev-armhf-cross
|
|
|
|
- name: Ubuntu GCC AARCH64
|
|
os: ubuntu-latest
|
|
chost: aarch64-linux-gnu
|
|
compiler: aarch64-linux-gnu-gcc
|
|
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake
|
|
packages: qemu gcc-aarch64-linux-gnu libc6-dev-arm64-cross
|
|
|
|
- name: Ubuntu GCC PPC
|
|
os: ubuntu-latest
|
|
chost: powerpc-linux-gnu
|
|
compiler: powerpc-linux-gnu-gcc
|
|
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake
|
|
packages: qemu gcc-powerpc-linux-gnu libc6-dev-powerpc-cross
|
|
|
|
- name: Ubuntu GCC PPC64LE
|
|
os: ubuntu-latest
|
|
chost: powerpc64le-linux-gnu
|
|
compiler: powerpc64le-linux-gnu-gcc
|
|
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake
|
|
packages: qemu gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross
|
|
|
|
- name: macOS Clang
|
|
os: macOS-latest
|
|
compiler: clang
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v1
|
|
|
|
- name: Install packages (Ubuntu)
|
|
if: runner.os == 'Linux'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends abigail-tools ninja-build diffoscope ${{ matrix.packages }}
|
|
|
|
- name: Install packages (macOS)
|
|
if: runner.os == 'macOS'
|
|
run: |
|
|
brew install ninja diffoscope ${{ matrix.packages }}
|
|
env:
|
|
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
|
|
|
- name: Select Xcode version (macOS)
|
|
# Use a version of Xcode that supports ZERO_AR_DATE until CMake supports
|
|
# AppleClang linking with libtool using -D argument
|
|
# https://gitlab.kitware.com/cmake/cmake/-/issues/19852
|
|
if: runner.os == 'macOS'
|
|
uses: maxim-lobanov/setup-xcode@v1
|
|
with:
|
|
xcode-version: '12.1.1'
|
|
|
|
- name: Compare builds
|
|
run: |
|
|
sh test/pkgcheck.sh
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
CFLAGS: ${{ matrix.cflags }}
|
|
CHOST: ${{ matrix.chost }}
|
|
CMAKE_ARGS: ${{ matrix.cmake-args }}
|
|
LDFLAGS: ${{ matrix.ldflags }}
|
|
|
|
- name: Compare builds (compat)
|
|
run: |
|
|
sh test/pkgcheck.sh --zlib-compat
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
CFLAGS: ${{ matrix.cflags }}
|
|
CHOST: ${{ matrix.chost }}
|
|
CMAKE_ARGS: ${{ matrix.cmake-args }}
|
|
LDFLAGS: ${{ matrix.ldflags }}
|
|
|
|
- name: Check ABI
|
|
# macOS runner does not contain abigail
|
|
if: runner.os != 'macOS'
|
|
run: |
|
|
sh test/abicheck.sh --refresh_if
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
CFLAGS: ${{ matrix.cflags }}
|
|
CHOST: ${{ matrix.chost }}
|
|
LDFLAGS: ${{ matrix.ldflags }}
|
|
|
|
- name: Check ABI (compat)
|
|
# macOS runner does not contain abigail
|
|
if: runner.os != 'macOS'
|
|
run: |
|
|
sh test/abicheck.sh --zlib-compat --refresh_if
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
CFLAGS: ${{ matrix.cflags }}
|
|
CHOST: ${{ matrix.chost }}
|
|
LDFLAGS: ${{ matrix.ldflags }}
|