summaryrefslogtreecommitdiff
path: root/neozip/.github/workflows/pkgcheck.yml
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 19:56:09 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 19:56:09 +0300
commit7fb132859fda54aa96bc9dd46d302b343eeb5a02 (patch)
treeb43ae77d7451fb470a260c03349a1caf2846c5e5 /neozip/.github/workflows/pkgcheck.yml
parentb1e34e861b5d732afe828d58aad2c638135061fd (diff)
parentc2712b8a345191f6ed79558c089777df94590087 (diff)
downloadProject-Tick-7fb132859fda54aa96bc9dd46d302b343eeb5a02.tar.gz
Project-Tick-7fb132859fda54aa96bc9dd46d302b343eeb5a02.zip
Add 'neozip/' from commit 'c2712b8a345191f6ed79558c089777df94590087'
git-subtree-dir: neozip git-subtree-mainline: b1e34e861b5d732afe828d58aad2c638135061fd git-subtree-split: c2712b8a345191f6ed79558c089777df94590087
Diffstat (limited to 'neozip/.github/workflows/pkgcheck.yml')
-rw-r--r--neozip/.github/workflows/pkgcheck.yml189
1 files changed, 189 insertions, 0 deletions
diff --git a/neozip/.github/workflows/pkgcheck.yml b/neozip/.github/workflows/pkgcheck.yml
new file mode 100644
index 0000000000..8c8d17ea3c
--- /dev/null
+++ b/neozip/.github/workflows/pkgcheck.yml
@@ -0,0 +1,189 @@
+name: Package Check
+on: [workflow_call, workflow_dispatch]
+jobs:
+ pkgcheck:
+ name: ${{ matrix.name }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - name: Ubuntu GCC
+ os: ubuntu-latest
+ compiler: gcc
+ cxx-compiler: g++
+
+ - name: Ubuntu GCC -m32
+ os: ubuntu-latest
+ compiler: gcc
+ cxx-compiler: g++
+ packages: gcc-multilib g++-multilib
+ cmake-args: -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32
+ cflags: -m32
+ cxxflags: -m32
+ ldflags: -m32
+
+ - name: Ubuntu GCC ARM HF
+ os: ubuntu-24.04-arm
+ chost: arm-linux-gnueabihf
+ compiler: arm-linux-gnueabihf-gcc
+ cxx-compiler: arm-linux-gnueabihf-g++
+ cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake
+ packages: qemu-user gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-dev-armhf-cross
+
+ - name: Ubuntu GCC AARCH64
+ os: ubuntu-24.04-arm
+ compiler: gcc
+ cxx-compiler: g++
+
+ - name: Ubuntu GCC MIPS
+ os: ubuntu-latest
+ chost: mips-linux-gnu
+ compiler: mips-linux-gnu-gcc
+ cxx-compiler: mips-linux-gnu-g++
+ cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips.cmake
+ packages: qemu-user gcc-mips-linux-gnu g++-mips-linux-gnu libc6-dev-mips-cross
+
+ - name: Ubuntu GCC MIPS64
+ os: ubuntu-latest
+ chost: mips64-linux-gnuabi64
+ compiler: mips64-linux-gnuabi64-gcc
+ cxx-compiler: mips64-linux-gnuabi64-g++
+ cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips64.cmake
+ packages: qemu-user gcc-mips64-linux-gnuabi64 g++-mips64-linux-gnuabi64 libc6-dev-mips64-cross
+
+ - name: Ubuntu GCC PPC
+ os: ubuntu-latest
+ chost: powerpc-linux-gnu
+ compiler: powerpc-linux-gnu-gcc
+ cxx-compiler: powerpc-linux-gnu-g++
+ cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake
+ packages: qemu-user gcc-powerpc-linux-gnu g++-powerpc-linux-gnu libc6-dev-powerpc-cross
+
+ - name: Ubuntu GCC PPC64LE
+ os: ubuntu-latest
+ chost: powerpc64le-linux-gnu
+ compiler: powerpc64le-linux-gnu-gcc
+ cxx-compiler: powerpc64le-linux-gnu-g++
+ cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake
+ packages: qemu-user gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu libc6-dev-ppc64el-cross
+
+ - name: Ubuntu GCC RISC-V
+ os: ubuntu-latest
+ chost: riscv64-linux-gnu
+ compiler: riscv64-linux-gnu-gcc
+ cxx-compiler: riscv64-linux-gnu-g++
+ cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-riscv.cmake
+ packages: qemu-user gcc-riscv64-linux-gnu g++-riscv64-linux-gnu libc6-dev-riscv64-cross
+
+ - name: macOS Clang
+ os: macOS-latest
+ compiler: clang
+ cxx-compiler: clang++
+
+ - name: macOS Clang Symbol Prefix
+ os: macOS-latest
+ compiler: clang
+ cxx-compiler: clang++
+ cmake-args: -DZLIB_SYMBOL_PREFIX=zTest_
+ configure-args: --sprefix=zTest_
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v6
+ with:
+ show-progress: 'false'
+
+ - name: Add ubuntu mirrors
+ if: runner.os == 'Linux' && matrix.packages
+ run: |
+ # Github Actions caching proxy is at times unreliable
+ echo -e 'http://azure.archive.ubuntu.com/ubuntu\tpriority:1\n' | sudo tee /etc/apt/mirrors.txt
+ curl http://mirrors.ubuntu.com/mirrors.txt | sudo tee --append /etc/apt/mirrors.txt
+ sudo sed -i 's#http://azure.archive.ubuntu.com/ubuntu/#mirror+file:/etc/apt/mirrors.txt#' /etc/apt/sources.list
+
+ - name: Install packages (Ubuntu)
+ if: runner.os == 'Linux'
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y --no-install-recommends ${{ matrix.packages }} \
+ abigail-tools \
+ diffoscope \
+ ninja-build
+
+ - 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)
+ if: runner.os == 'macOS'
+ uses: maxim-lobanov/setup-xcode@v1
+ with:
+ xcode-version: '16.4'
+
+ - name: Compare builds
+ run: sh test/pkgcheck.sh
+ env:
+ CC: ${{ matrix.compiler }}
+ CXX: ${{ matrix.cxx-compiler }}
+ CFLAGS: ${{ matrix.cflags }}
+ CXXFLAGS: ${{ matrix.cxxflags }}
+ CHOST: ${{ matrix.chost }}
+ CMAKE_ARGS: ${{ matrix.cmake-args }} -DWITH_ALL_FALLBACKS=ON
+ CONFIGURE_ARGS: ${{ matrix.configure-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 }} -DWITH_ALL_FALLBACKS=ON
+ CONFIGURE_ARGS: ${{ matrix.configure-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 }}
+ CXX: ${{ matrix.cxx-compiler }}
+ CFLAGS: ${{ matrix.cflags }}
+ CXXFLAGS: ${{ matrix.cxxflags }}
+ CHOST: ${{ matrix.chost }}
+ CMAKE_ARGS: ${{ matrix.cmake-args }}
+ CONFIGURE_ARGS: ${{ matrix.configure-args }}
+ 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 }}
+ CXX: ${{ matrix.cxx-compiler }}
+ CFLAGS: ${{ matrix.cflags }}
+ CXXFLAGS: ${{ matrix.cxxflags }}
+ CHOST: ${{ matrix.chost }}
+ CMAKE_ARGS: ${{ matrix.cmake-args }}
+ CONFIGURE_ARGS: ${{ matrix.configure-args }}
+ LDFLAGS: ${{ matrix.ldflags }}
+
+ - name: Upload build errors
+ uses: actions/upload-artifact@v7
+ if: failure()
+ with:
+ name: ${{ matrix.name }}
+ path: |
+ **/*.abi
+ btmp1/configure.log
+ btmp1/CMakeFiles/CMakeOutput.log
+ btmp1/CMakeFiles/CMakeError.log
+ btmp2/configure.log
+ btmp2/CMakeFiles/CMakeOutput.log
+ btmp2/CMakeFiles/CMakeError.log
+ retention-days: 30