| 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 |
| deploy-name: win-arm |
| |
| - name: Windows MSVC ARM Compat |
| os: windows-latest |
| compiler: cl |
| cmake-args: -A ARM -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@v3 |
| |
| - 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 . --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@v1-release |
| 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 }}" |