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 }}"