• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: CI Release
2on:
3  push:
4    tags:
5    - '*'
6jobs:
7  ci-cmake:
8    name: ${{ matrix.name }}
9    runs-on: ${{ matrix.os }}
10    strategy:
11      fail-fast: false
12      matrix:
13        include:
14          - name: Windows MSVC Win32
15            os: windows-latest
16            compiler: cl
17            cmake-args: -A Win32
18            deploy-name: win-x86
19
20          - name: Windows MSVC Win32 Compat
21            os: windows-latest
22            compiler: cl
23            cmake-args: -A Win32 -DZLIB_COMPAT=ON
24            deploy-name: win-x86-compat
25
26          - name: Windows MSVC Win64
27            os: windows-latest
28            compiler: cl
29            cmake-args: -A x64
30            deploy-name: win-x86-64
31
32          - name: Windows MSVC Win64 Compat
33            os: windows-latest
34            compiler: cl
35            cmake-args: -A x64 -DZLIB_COMPAT=ON
36            deploy-name: win-x86-64-compat
37
38          - name: Windows MSVC ARM
39            os: windows-latest
40            compiler: cl
41            cmake-args: -A ARM
42            deploy-name: win-arm
43
44          - name: Windows MSVC ARM Compat
45            os: windows-latest
46            compiler: cl
47            cmake-args: -A ARM -DZLIB_COMPAT=ON
48            deploy-name: win-arm-compat
49
50          - name: Windows MSVC ARM64
51            os: windows-latest
52            compiler: cl
53            cmake-args: -A ARM64
54            deploy-name: win-arm64
55
56          - name: Windows MSVC ARM64 Compat
57            os: windows-latest
58            compiler: cl
59            cmake-args: -A ARM64 -DZLIB_COMPAT=ON
60            deploy-name: win-arm64-compat
61
62    steps:
63    - name: Checkout repository
64      uses: actions/checkout@v1
65
66    - name: Set environment variables
67      shell: bash
68      run:  echo "tag=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
69
70    - name: Generate project files
71      run: |
72        cmake . ${{ matrix.cmake-args }} -DCMAKE_BUILD_TYPE=Release -DZLIB_ENABLE_TESTS=ON -DCMAKE_INSTALL_PREFIX=out -DINSTALL_UTILS=ON
73      env:
74        CC: ${{ matrix.compiler }}
75        CI: true
76
77    - name: Compile source code
78      run: |
79        cmake --build . --config Release --target install
80
81    - name: Package release (Windows)
82      if: runner.os == 'Windows'
83      run: |
84        cd out
85        7z a -tzip ../zlib-ng-${{ matrix.deploy-name }}.zip bin include lib ../LICENSE.md ../PORTING.md ../README.md
86
87    - name: Upload release (Windows)
88      uses: svenstaro/upload-release-action@v1-release
89      if: runner.os == 'Windows'
90      with:
91        asset_name: zlib-ng-${{ matrix.deploy-name }}.zip
92        file: zlib-ng-${{ matrix.deploy-name }}.zip
93        tag: ${{env.tag}}
94        repo_token: ${{ secrets.GITHUB_TOKEN }}
95        overwrite: true
96      env:
97        GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
98