summaryrefslogtreecommitdiff
path: root/.github/workflows/neozip-link.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/neozip-link.yml')
-rw-r--r--.github/workflows/neozip-link.yml75
1 files changed, 75 insertions, 0 deletions
diff --git a/.github/workflows/neozip-link.yml b/.github/workflows/neozip-link.yml
new file mode 100644
index 0000000000..e4b5b41ecd
--- /dev/null
+++ b/.github/workflows/neozip-link.yml
@@ -0,0 +1,75 @@
+name: "neozip: Link"
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+jobs:
+ zlib:
+ name: Link zlib
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v6
+ with:
+ show-progress: 'false'
+
+ - name: Checkout zlib repository
+ uses: actions/checkout@v6
+ 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 -j5 --config Release
+
+ - name: Generate project files (native)
+ run: cmake -S neozip -B build-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 build-native -j5 --config Release
+
+ - name: Upload build errors
+ uses: actions/upload-artifact@v7
+ 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@v6
+ with:
+ show-progress: 'false'
+
+ - name: Generate project files (compat)
+ run: cmake -S neozip -B build-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 build-compat -j5 --config Release
+
+ - name: Generate project files (native)
+ run: cmake -S neozip -B build-native -DZLIB_COMPAT=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DZLIB_LIBRARIES=../build-compat/libz.a -DZLIB_INCLUDE_DIR=../build-compat
+
+ - name: Compile source code (native)
+ run: cmake --build build-native -j5 --config Release
+
+ - name: Upload build errors
+ uses: actions/upload-artifact@v7
+ if: failure()
+ with:
+ name: Link zlib-ng compat (CMake Logs)
+ path: |
+ **/CMakeFiles/CMakeOutput.log
+ **/CMakeFiles/CMakeError.log
+ retention-days: 30