| name: CI Release |
| on: |
| push: |
| tags: |
| - '*' |
| jobs: |
| ci-cmake: |
| name: ${{ matrix.name }} |
| runs-on: ${{ matrix.os }} |
| strategy: |
| fail-fast: false |
| matrix: |
| name: [ |
| Windows MSVC Win32, |
| Windows MSVC Win32 Compat, |
| Windows MSVC Win64, |
| Windows MSVC Win64 Compat |
| ] |
| include: |
| - name: Windows MSVC Win32 |
| os: windows-latest |
| compiler: cl |
| cmake-args: -A Win32 |
| deploy-name: win32 |
| |
| - name: Windows MSVC Win32 Compat |
| os: windows-latest |
| compiler: cl |
| cmake-args: -A Win32 -DZLIB_COMPAT=ON |
| deploy-name: win32-compat |
| |
| - name: Windows MSVC Win64 |
| os: windows-latest |
| compiler: cl |
| cmake-args: -A x64 |
| deploy-name: win64 |
| |
| - name: Windows MSVC Win64 Compat |
| os: windows-latest |
| compiler: cl |
| cmake-args: -A x64 -DZLIB_COMPAT=ON |
| deploy-name: win64-compat |
| |
| steps: |
| - name: Checkout repository |
| uses: actions/checkout@v1 |
| |
| - name: Set environment variables |
| shell: bash |
| run: echo "::set-env name=tag::${GITHUB_REF/refs\/tags\//}" |
| |
| - name: Generate project files |
| run: | |
| cmake . ${{ matrix.cmake-args }} -DCMAKE_BUILD_TYPE=Release -DWITH_GZFILEOP=ON -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: | |
| cd out |
| 7z a -tzip ../zlib-ng-${{ matrix.deploy-name }}.zip bin include lib ../LICENSE.md ../README.md |
| |
| - 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 }}" |