From 403d11db289fed5d7b4f8fa0fecf69f75ebb7ed4 Mon Sep 17 00:00:00 2001 From: Nathan Moinvaziri Date: Sun, 5 Jan 2025 08:21:43 -0800 Subject: [PATCH] Rm workflows. --- .github/workflows/analyze.yml | 85 --------- .github/workflows/codeql.yml | 44 ----- .github/workflows/configure.yml | 295 -------------------------------- .github/workflows/fuzz.yml | 38 ---- .github/workflows/libpng.yml | 57 ------ .github/workflows/link.yml | 74 -------- .github/workflows/lint.yml | 17 -- .github/workflows/nmake.yml | 75 -------- .github/workflows/pigz.yml | 165 ------------------ .github/workflows/pkgcheck.yml | 187 -------------------- .github/workflows/release.yml | 102 ----------- 11 files changed, 1139 deletions(-) delete mode 100644 .github/workflows/analyze.yml delete mode 100644 .github/workflows/codeql.yml delete mode 100644 .github/workflows/configure.yml delete mode 100644 .github/workflows/fuzz.yml delete mode 100644 .github/workflows/libpng.yml delete mode 100644 .github/workflows/link.yml delete mode 100644 .github/workflows/lint.yml delete mode 100644 .github/workflows/nmake.yml delete mode 100644 .github/workflows/pigz.yml delete mode 100644 .github/workflows/pkgcheck.yml delete mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml deleted file mode 100644 index 40315e7dcd..0000000000 --- a/.github/workflows/analyze.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: Static Analysis -on: [push, pull_request] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - static-analysis: - name: GCC - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Add ubuntu mirrors - 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) - run: sudo apt-get install -y gcc-10 - - - name: Generate project files - run: | - cmake . \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=OFF \ - -DWITH_FUZZERS=OFF \ - -DWITH_CODE_COVERAGE=OFF \ - -DWITH_MAINTAINER_WARNINGS=OFF - env: - CC: gcc-10 - CFLAGS: - -fanalyzer - -Werror - -Wanalyzer-double-fclose - -Wanalyzer-double-free - -Wanalyzer-exposure-through-output-file - -Wanalyzer-file-leak - -Wanalyzer-free-of-non-heap - -Wanalyzer-malloc-leak - -Wanalyzer-null-argument - -Wanalyzer-null-dereference - -Wanalyzer-possible-null-argument - -Wanalyzer-possible-null-dereference - -Wanalyzer-stale-setjmp-buffer - -Wanalyzer-tainted-array-index - -Wanalyzer-unsafe-call-within-signal-handler - -Wanalyzer-use-after-free - -Wanalyzer-use-of-pointer-in-stale-stack-frame - CI: true - - - name: Compile source code - run: cmake --build . -j2 --config Release > /dev/null - - Clang: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Install packages (Ubuntu) - run: sudo apt-get install -y clang-tools - - - name: Generate project files - run: | - scan-build --status-bugs \ - cmake . \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=OFF \ - -DWITH_FUZZERS=OFF \ - -DWITH_CODE_COVERAGE=OFF \ - -DWITH_MAINTAINER_WARNINGS=OFF - env: - CI: true - - - name: Compile source code - run: | - scan-build --status-bugs \ - cmake --build . -j2 --config Release > /dev/null diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index 015506de57..0000000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: "CodeQL" -on: - push: - branches: [ "develop" ] - pull_request: - branches: [ "develop" ] - schedule: - - cron: "27 17 * * 0" -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ cpp ] - - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - queries: +security-and-quality - - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{ matrix.language }}" diff --git a/.github/workflows/configure.yml b/.github/workflows/configure.yml deleted file mode 100644 index 6643edb1fa..0000000000 --- a/.github/workflows/configure.yml +++ /dev/null @@ -1,295 +0,0 @@ -name: Configure -on: [push, pull_request] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - configure: - name: ${{ matrix.name }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - include: - - name: Ubuntu GCC - os: ubuntu-latest - compiler: gcc - configure-args: --warn - - - name: Ubuntu 20.04 GCC - os: ubuntu-20.04 - compiler: gcc - configure-args: --warn - - - name: Ubuntu GCC OSB - os: ubuntu-latest - compiler: gcc - configure-args: --warn - build-dir: ../build - build-src-dir: ../zlib-ng - - - name: Ubuntu GCC Compat No Opt - os: ubuntu-latest - compiler: gcc - configure-args: --warn --zlib-compat --without-optimizations --without-new-strategies - - - name: Ubuntu GCC ARM SF - os: ubuntu-latest - compiler: arm-linux-gnueabi-gcc - configure-args: --warn - chost: arm-linux-gnueabi - packages: qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross - - - name: Ubuntu GCC ARM SF Compat No Opt - os: ubuntu-latest - compiler: arm-linux-gnueabi-gcc - configure-args: --warn --zlib-compat --without-optimizations --without-new-strategies - chost: arm-linux-gnueabi - packages: qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross - - - name: Ubuntu GCC ARM HF - os: ubuntu-latest - compiler: arm-linux-gnueabihf-gcc - configure-args: --warn - chost: arm-linux-gnueabihf - packages: qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross - - - name: Ubuntu GCC ARM HF No ACLE - os: ubuntu-latest - compiler: arm-linux-gnueabihf-gcc - configure-args: --warn --without-acle - chost: arm-linux-gnueabihf - packages: qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross - - - name: Ubuntu GCC ARM HF No NEON - os: ubuntu-latest - compiler: arm-linux-gnueabihf-gcc - configure-args: --warn --without-neon - chost: arm-linux-gnueabihf - packages: qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross - - - name: Ubuntu GCC ARM HF Compat No Opt - os: ubuntu-latest - compiler: arm-linux-gnueabihf-gcc - configure-args: --warn --zlib-compat --without-optimizations --without-new-strategies - chost: arm-linux-gnueabihf - packages: qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross - - - name: Ubuntu GCC AARCH64 - os: ubuntu-latest - compiler: aarch64-linux-gnu-gcc - configure-args: --warn - chost: aarch64-linux-gnu - packages: qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross - - - name: Ubuntu GCC AARCH64 No ACLE - os: ubuntu-latest - compiler: aarch64-linux-gnu-gcc - configure-args: --warn --without-acle - chost: aarch64-linux-gnu - packages: qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross - - - name: Ubuntu GCC AARCH64 No NEON - os: ubuntu-latest - compiler: aarch64-linux-gnu-gcc - configure-args: --warn --without-neon - chost: aarch64-linux-gnu - packages: qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross - - - name: Ubuntu GCC AARCH64 Compat No Opt - os: ubuntu-latest - compiler: aarch64-linux-gnu-gcc - configure-args: --warn --zlib-compat --without-optimizations --without-new-strategies - chost: aarch64-linux-gnu - packages: qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross - - - name: Ubuntu GCC MIPS - os: ubuntu-latest - compiler: mips-linux-gnu-gcc - configure-args: --warn - chost: mips-linux-gnu - packages: qemu-user gcc-mips-linux-gnu libc-dev-mips-cross - - - name: Ubuntu GCC MIPS64 - os: ubuntu-latest - compiler: mips64-linux-gnuabi64-gcc - configure-args: --warn - chost: mips64-linux-gnuabi64 - packages: qemu-user gcc-mips64-linux-gnuabi64 libc-dev-mips64-cross - - - name: Ubuntu GCC PPC - os: ubuntu-latest - compiler: powerpc-linux-gnu-gcc - configure-args: --warn --static - chost: powerpc-linux-gnu - packages: qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross - cflags: -static - ldflags: -static - - - name: Ubuntu GCC PPC No Power8 - os: ubuntu-latest - compiler: powerpc-linux-gnu-gcc - configure-args: --warn --without-power8 - chost: powerpc-linux-gnu - packages: qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross - - - name: Ubuntu GCC PPC64 - os: ubuntu-latest - compiler: powerpc64-linux-gnu-gcc - configure-args: --warn --static - chost: powerpc-linux-gnu - packages: qemu-user gcc-powerpc64-linux-gnu libc-dev-ppc64-cross - cflags: -static - ldflags: -static - - - name: Ubuntu GCC PPC64LE - os: ubuntu-latest - compiler: powerpc64le-linux-gnu-gcc - configure-args: --warn - chost: powerpc64le-linux-gnu - packages: qemu-user gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross - - - name: Ubuntu GCC S390X - os: ubuntu-latest - compiler: s390x-linux-gnu-gcc - configure-args: --warn --static - chost: s390x-linux-gnu - packages: qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross - cflags: -static - ldflags: -static - - - name: Ubuntu GCC S390X No vectorized CRC32 - os: ubuntu-latest - compiler: s390x-linux-gnu-gcc - configure-args: --warn --static --without-crc32-vx - chost: s390x-linux-gnu - packages: qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross - cflags: -static - ldflags: -static - - - name: ${{ github.repository == 'zlib-ng/zlib-ng' && 'EL9' || 'Ubuntu' }} GCC S390X DFLTCC - os: ${{ github.repository == 'zlib-ng/zlib-ng' && 'z15' || 'ubuntu-latest' }} - compiler: ${{ github.repository == 'zlib-ng/zlib-ng' && 'gcc' || 's390x-linux-gnu-gcc' }} - configure-args: --warn --static --with-dfltcc-deflate --with-dfltcc-inflate - chost: ${{ github.repository != 'zlib-ng/zlib-ng' && 's390x-linux-gnu' || '' }} - packages: ${{ github.repository != 'zlib-ng/zlib-ng' && 'qemu-user gcc-s390x-linux-gnu g++-s390x-linux-gnu libc-dev-s390x-cross' || '' }} - cflags: ${{ github.repository != 'zlib-ng/zlib-ng' && '-static' || '' }} - ldflags: ${{ github.repository != 'zlib-ng/zlib-ng' && '-static' || '' }} - - - name: ${{ github.repository == 'zlib-ng/zlib-ng' && 'EL9' || 'Ubuntu' }} GCC S390X DFLTCC Compat - os: ${{ github.repository == 'zlib-ng/zlib-ng' && 'z15' || 'ubuntu-latest' }} - compiler: ${{ github.repository == 'zlib-ng/zlib-ng' && 'gcc' || 's390x-linux-gnu-gcc' }} - configure-args: --warn --zlib-compat --static --with-dfltcc-deflate --with-dfltcc-inflate - chost: ${{ github.repository != 'zlib-ng/zlib-ng' && 's390x-linux-gnu' || '' }} - packages: ${{ github.repository != 'zlib-ng/zlib-ng' && 'qemu-user gcc-s390x-linux-gnu g++-s390x-linux-gnu libc-dev-s390x-cross' || '' }} - cflags: ${{ github.repository != 'zlib-ng/zlib-ng' && '-static' || '' }} - ldflags: ${{ github.repository != 'zlib-ng/zlib-ng' && '-static' || '' }} - - - name: Ubuntu Emscripten WASM32 - os: ubuntu-latest - chost: wasm32 - configure-args: --warn --zlib-compat --static - configure-prefix: emconfigure - cflags: -static - ldflags: -static - emu-run: node - - - name: macOS GCC Symbol Prefix - os: macos-13 - compiler: gcc-11 - configure-args: --sprefix=zTest_ - packages: gcc@11 - - - name: macOS GCC Symbol Prefix (ARM64) - os: macos-latest - compiler: gcc-11 - cflags: -std=gnu11 - configure-args: --sprefix=zTest_ - packages: gcc@11 - - - name: macOS GCC Symbol Prefix & Compat - os: macos-13 - compiler: gcc-11 - configure-args: --zlib-compat --sprefix=zTest_ - packages: gcc@11 - - - name: macOS GCC Symbol Prefix & Compat (ARM64) - os: macos-latest - compiler: gcc-11 - cflags: -std=gnu11 - configure-args: --zlib-compat --sprefix=zTest_ - packages: gcc@11 - - - name: macOS GCC - os: macos-13 - compiler: gcc-11 - configure-args: --warn - packages: gcc@11 - - - name: macOS GCC (ARM64) - os: macos-latest - compiler: gcc-11 - cflags: -std=gnu11 - configure-args: --warn - packages: gcc@11 - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Add ubuntu mirrors - if: runner.os == 'Linux' && matrix.packages - # Github Actions caching proxy is at times unreliable - run: | - 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' && matrix.packages - run: | - sudo apt-get update - sudo apt-get install -y ${{ matrix.packages }} - - - name: Install packages (macOS) - if: runner.os == 'macOS' - run: brew install ninja ${{ matrix.packages }} - env: - HOMEBREW_NO_INSTALL_CLEANUP: 1 - - - name: Install Emscripten - if: contains(matrix.name, 'WASM32') - uses: mymindstorm/setup-emsdk@v14 - - - name: Generate project files - run: | - mkdir ${{ matrix.build-dir || '.not-used' }} - cd ${{ matrix.build-dir || '.' }} - ${{ matrix.configure-prefix }} ${{ matrix.build-src-dir || '.' }}/configure ${{ matrix.configure-args }} - env: - CC: ${{ matrix.compiler }} - CFLAGS: ${{ matrix.cflags }} - LDFLAGS: ${{ matrix.ldflags }} - CHOST: ${{ matrix.chost }} - EMU_RUN: ${{ matrix.emu-run }} - CI: true - - - name: Compile source code - run: make -j2 - working-directory: ${{ matrix.build-dir }} - - - name: Run test cases - run: make test - working-directory: ${{ matrix.build-dir }} - - - name: Upload build errors - uses: actions/upload-artifact@v4 - if: failure() - with: - name: ${{ matrix.name }} (configure) - path: | - **/Makefile - ${{ matrix.build-dir || '.' }}/configure.log - retention-days: 30 diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml deleted file mode 100644 index 376d988b56..0000000000 --- a/.github/workflows/fuzz.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: OSS-Fuzz -on: - pull_request: - push: - branches: - - stable - - develop - - pre-release - - '2.*' - tags: - - '*' -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - fuzzing: - name: Fuzzing - runs-on: ubuntu-latest - steps: - - name: Build Fuzzers - uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master - with: - oss-fuzz-project-name: 'zlib-ng' - dry-run: false - - - name: Run Fuzzers - uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master - with: - oss-fuzz-project-name: 'zlib-ng' - fuzz-seconds: 600 - dry-run: false - - - name: Upload Crash - uses: actions/upload-artifact@v4 - if: failure() - with: - name: artifacts - path: ./out/artifacts diff --git a/.github/workflows/libpng.yml b/.github/workflows/libpng.yml deleted file mode 100644 index a15939429e..0000000000 --- a/.github/workflows/libpng.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: Libpng -on: [push, pull_request] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - libpng: - name: Ubuntu Clang - runs-on: ubuntu-latest - steps: - - name: Checkout repository (zlib-ng) - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Generate project files (zlib-ng) - run: | - cmake . \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=OFF \ - -DZLIB_COMPAT=ON \ - -DZLIB_ENABLE_TESTS=OFF - env: - CC: clang - CFLAGS: -fPIC - CI: true - - - name: Compile source code (zlib-ng) - run: cmake --build . -j2 --config Release - - - name: Checkout repository (libpng) - uses: actions/checkout@v4 - with: - repository: glennrp/libpng - path: libpng - show-progress: 'false' - - - name: Generate project files (libpng) - run: | - cmake . \ - -DCMAKE_BUILD_TYPE=Release \ - -DPNG_TESTS=ON \ - -DPNG_STATIC=OFF \ - -DZLIB_INCLUDE_DIR=.. \ - -DZLIB_LIBRARY=$PWD/../libz.a - working-directory: libpng - env: - CC: clang - CI: true - - - name: Compile source code (libpng) - run: cmake --build . -j2 --config Release - working-directory: libpng - - - name: Run test cases (libpng) - run: ctest -j2 -C Release --output-on-failure --max-width 120 - working-directory: libpng diff --git a/.github/workflows/link.yml b/.github/workflows/link.yml deleted file mode 100644 index 510e6947aa..0000000000 --- a/.github/workflows/link.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: Link -on: [push, pull_request] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - zlib: - name: Link zlib - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Checkout zlib repository - uses: actions/checkout@v4 - with: - show-progress: 'false' - repository: madler/zlib - path: zlib - - - name: Generate project files (zlib) - run: cmake -S zlib -B zlib/build -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF - - - name: Compile source code (zlib) - run: cmake --build zlib/build -j2 --config Release - - - name: Generate project files (native) - run: cmake -S . -B native -DZLIB_COMPAT=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DZLIB_LIBRARIES=../zlib/build/libz.a -DZLIB_INCLUDE_DIR="../zlib/build;../zlib" - - - name: Compile source code (native) - run: cmake --build native -j2 --config Release - - - name: Upload build errors - uses: actions/upload-artifact@v4 - if: failure() - with: - name: Link zlib (CMake Logs) - path: | - **/CMakeFiles/CMakeOutput.log - **/CMakeFiles/CMakeError.log - retention-days: 30 - - zlib-ng-compat: - name: Link zlib-ng compat - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Generate project files (compat) - run: cmake -S . -B compat -DZLIB_COMPAT=ON -DZLIB_ENABLE_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DWITH_MAINTAINER_WARNINGS=ON - - - name: Compile source code (compat) - run: cmake --build compat -j2 --config Release - - - name: Generate project files (native) - run: cmake -S . -B native -DZLIB_COMPAT=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DZLIB_LIBRARIES=../compat/libz.a -DZLIB_INCLUDE_DIR=../compat - - - name: Compile source code (native) - run: cmake --build native -j2 --config Release - - - name: Upload build errors - uses: actions/upload-artifact@v4 - if: failure() - with: - name: Link zlib-ng compat (CMake Logs) - path: | - **/CMakeFiles/CMakeOutput.log - **/CMakeFiles/CMakeError.log - retention-days: 30 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index ecfd64717f..0000000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Lint -on: [pull_request] - -jobs: - lint: - name: Lint - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Whitespace errors - run: | - git config core.whitespace blank-at-eol - git diff --color --check ${{ github.event.pull_request.base.sha }} -- './*' ':!*.patch' diff --git a/.github/workflows/nmake.yml b/.github/workflows/nmake.yml deleted file mode 100644 index 9949d18571..0000000000 --- a/.github/workflows/nmake.yml +++ /dev/null @@ -1,75 +0,0 @@ -name: NMake -on: [push, pull_request] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - nmake: - name: ${{ matrix.name }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - include: - - name: Windows NMake x86 - os: windows-2022 - makefile: win32/Makefile.msc - arch: x86 - - - name: Windows NMake x64 compat - os: windows-2022 - makefile: win32/Makefile.msc - arch: x86_amd64 - additional-args: ZLIB_COMPAT=yes - - - name: Windows NMake x64 Symbol Prefix - os: windows-2022 - makefile: win32/Makefile.msc - arch: x86_amd64 - additional-args: SYMBOL_PREFIX=zTest_ - - - name: Windows NMake x64 Symbol Prefix Compat - os: windows-2022 - makefile: win32/Makefile.msc - arch: x86_amd64 - additional-args: ZLIB_COMPAT=yes SYMBOL_PREFIX=zTest_ - - - name: Windows NMake x64 - os: windows-2022 - makefile: win32/Makefile.msc - arch: x86_amd64 - - - name: Windows NMake ARM No Test - os: windows-2022 - makefile: win32/Makefile.arm - arch: x86_arm - sdk: 10.0.22621.0 - - - name: Windows NMake ARM64 No Test - os: windows-2022 - makefile: win32/Makefile.a64 - arch: x86_arm64 - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Setup development environment - uses: ilammy/msvc-dev-cmd@v1.13.0 - with: - arch: ${{ matrix.arch }} - sdk: ${{ matrix.sdk }} - - - name: Compile source code - shell: cmd - run: nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} - - - name: Run test cases - shell: cmd - # Don't run tests on Windows ARM - if: contains(matrix.arch, 'arm') == false - run: | - nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} test - nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} testdll diff --git a/.github/workflows/pigz.yml b/.github/workflows/pigz.yml deleted file mode 100644 index 59b36782bf..0000000000 --- a/.github/workflows/pigz.yml +++ /dev/null @@ -1,165 +0,0 @@ -name: Pigz -on: [push, pull_request] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - pigz: - name: ${{ matrix.name }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - include: - - name: Ubuntu GCC - os: ubuntu-latest - compiler: gcc - codecov: ubuntu_gcc_pigz - - - name: Ubuntu GCC Symbol Prefix - os: ubuntu-latest - compiler: gcc - codecov: ubuntu_gcc_pigz - cmake-args: -DZLIB_SYMBOL_PREFIX=zTest_ - - - name: Ubuntu Clang - os: ubuntu-latest - compiler: clang - packages: llvm-15 llvm-15-tools - gcov-exec: llvm-cov-15 gcov - codecov: ubuntu_clang_pigz - - - name: Ubuntu Clang No Optim - os: ubuntu-latest - compiler: clang - packages: llvm-15 llvm-15-tools - gcov-exec: llvm-cov-15 gcov - codecov: ubuntu_clang_pigz_no_optim - cmake-args: -DWITH_OPTIM=OFF - - # Use v2.6 due to NOTHREADS bug https://github.com/madler/pigz/issues/97 - - name: Ubuntu Clang No Threads - os: ubuntu-latest - compiler: clang - packages: llvm-15 llvm-15-tools - gcov-exec: llvm-cov-15 gcov - codecov: ubuntu_clang_pigz_no_threads - cmake-args: -DWITH_THREADS=OFF -DPIGZ_VERSION=v2.6 - - - name: Ubuntu GCC AARCH64 - os: ubuntu-latest - cmake-args: -DCMAKE_TOOLCHAIN_FILE=../../cmake/toolchain-aarch64.cmake - packages: qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross - codecov: ubuntu_gcc_pigz_aarch64 - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Checkout test corpora - uses: actions/checkout@v4 - with: - repository: zlib-ng/corpora - path: test/data/corpora - show-progress: 'false' - - - name: Add ubuntu mirrors - if: runner.os == 'Linux' && matrix.packages - # Github Actions caching proxy is at times unreliable - run: | - 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' && matrix.packages - run: | - sudo apt-get update - sudo apt-get install -y ${{ matrix.packages }} - - - name: Generate project files - run: | - cmake ${{ matrix.cmake-args }} \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-config || 'Release' }} \ - -DBUILD_SHARED_LIBS=OFF \ - -DZLIB_ROOT=../.. \ - -DWITH_CODE_COVERAGE=ON \ - -DWITH_MAINTAINER_WARNINGS=ON - working-directory: test/pigz - env: - CC: ${{ matrix.compiler }} - CFLAGS: ${{ matrix.cflags }} - LDFLAGS: ${{ matrix.ldflags }} - CI: true - - - name: Compile source code - run: cmake --build . -j2 --config ${{ matrix.build-config || 'Release' }} - working-directory: test/pigz - - - name: Run test cases - run: ctest --verbose -C Release --output-on-failure --max-width 120 -j ${{ matrix.parallels-jobs || '3' }} - working-directory: test/pigz - - - name: Generate coverage report - if: matrix.codecov - run: | - python3 -u -m pip install gcovr - python3 -m gcovr -j 3 --gcov-ignore-parse-errors --verbose \ - --exclude-unreachable-branches \ - --gcov-executable "${{ matrix.gcov-exec || 'gcov' }}" \ - --root . \ - --xml --output ${{ matrix.codecov }}.xml - - - name: Upload coverage report artifact - uses: actions/upload-artifact@v4 - if: matrix.codecov - with: - name: ${{ matrix.name }} (coverage) - path: ${{ matrix.codecov }}.xml - retention-days: 1 - - - name: Upload build errors - uses: actions/upload-artifact@v4 - if: failure() - with: - name: ${{ matrix.name }} (cmake) - path: | - **/CMakeFiles/CMakeOutput.log - **/CMakeFiles/CMakeError.log - **/Testing/Temporary/* - coverage.xml - retention-days: 30 - - coverage: - name: Upload Coverage Reports - runs-on: ubuntu-latest - needs: pigz - if: cancelled() == false - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - show-progress: false - - - name: Download all reports - uses: actions/download-artifact@v4 - with: - merge-multiple: true - - - name: Display all coverage artifacts - run: | - ls -R *.xml - echo "CODECOV_REPORTS=`ls -p *.xml | grep -v / | tr '\n' ',' | sed 's/,$//g'`" >> $GITHUB_ENV - - - name: Upload reports - uses: codecov/codecov-action@v5 - if: (env.CODECOV_TOKEN != '' || github.repository == 'zlib-ng/zlib-ng') - with: - files: ${{ env.CODECOV_REPORTS }} - name: pigz-umbrella - verbose: true - fail_ci_if_error: true - env: - CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" diff --git a/.github/workflows/pkgcheck.yml b/.github/workflows/pkgcheck.yml deleted file mode 100644 index a77c5f527d..0000000000 --- a/.github/workflows/pkgcheck.yml +++ /dev/null @@ -1,187 +0,0 @@ -name: Package Check -on: [push, pull_request] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -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-latest - 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-latest - chost: aarch64-linux-gnu - compiler: aarch64-linux-gnu-gcc - cxx-compiler: aarch64-linux-gnu-g++ - cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake - packages: qemu-user gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc6-dev-arm64-cross - - - 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: 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@v4 - 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: '15.2' - - - 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 }} - 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 }} - 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@v4 - 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 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 0a52d6290a..0000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,102 +0,0 @@ -name: Release -on: - push: - tags: - - '*' -jobs: - release: - name: ${{ matrix.name }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - include: - - name: Windows MSVC Win32 - os: windows-latest - compiler: cl - cmake-args: -A Win32 - deploy-name: win-x86 - - - name: Windows MSVC Win32 Compat - os: windows-latest - compiler: cl - cmake-args: -A Win32 -DZLIB_COMPAT=ON - deploy-name: win-x86-compat - - - name: Windows MSVC Win64 - os: windows-latest - compiler: cl - cmake-args: -A x64 - deploy-name: win-x86-64 - - - name: Windows MSVC Win64 Compat - os: windows-latest - compiler: cl - cmake-args: -A x64 -DZLIB_COMPAT=ON - deploy-name: win-x86-64-compat - - - name: Windows MSVC ARM - os: windows-latest - compiler: cl - cmake-args: -A ARM,version=10.0.22621.0 - deploy-name: win-arm - - - name: Windows MSVC ARM Compat - os: windows-latest - compiler: cl - cmake-args: -A ARM,version=10.0.22621.0 -DZLIB_COMPAT=ON - deploy-name: win-arm-compat - - - name: Windows MSVC ARM64 - os: windows-latest - compiler: cl - cmake-args: -A ARM64 - deploy-name: win-arm64 - - - name: Windows MSVC ARM64 Compat - os: windows-latest - compiler: cl - cmake-args: -A ARM64 -DZLIB_COMPAT=ON - deploy-name: win-arm64-compat - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - show-progress: 'false' - - - name: Set environment variables - shell: bash - run: echo "tag=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV - - - name: Generate project files - shell: bash - run: | - cmake . ${{ matrix.cmake-args }} \ - -DCMAKE_BUILD_TYPE=Release \ - -DZLIB_ENABLE_TESTS=ON \ - -DCMAKE_INSTALL_PREFIX=out \ - -DINSTALL_UTILS=ON - env: - CC: ${{ matrix.compiler }} - CI: true - - - name: Compile source code - run: cmake --build . -j2 --config Release --target install - - - name: Package release (Windows) - if: runner.os == 'Windows' - run: 7z a -tzip ../zlib-ng-${{ matrix.deploy-name }}.zip bin include lib ../LICENSE.md ../PORTING.md ../README.md - working-directory: out - - - name: Upload release (Windows) - uses: svenstaro/upload-release-action@v2 - if: runner.os == 'Windows' - with: - asset_name: zlib-ng-${{ matrix.deploy-name }}.zip - file: zlib-ng-${{ matrix.deploy-name }}.zip - tag: ${{env.tag}} - repo_token: ${{ secrets.GITHUB_TOKEN }} - overwrite: true - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"