blob: 2a3327b479b3f61fe166a12dbc548e89671bc06e [file] [log] [blame]
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 }}"