name: windows-artifacts

on:
  push:
    branches: [ test_artifacts, win_artifacts ]
  release:
    types:
      - published

permissions: read-all

jobs:
  windows-64-artifacts:
    # see https://ariya.io/2020/07/on-github-actions-with-msys2
    runs-on: windows-latest
    defaults:
      run:
        shell: msys2 {0}
    steps:
    - uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
    - uses: msys2/setup-msys2@5beef6d11f48bba68b9eb503e3adc60b23c0cc36 # tag=v2
      with:
        msystem: MINGW64
        install: make zlib git p7zip mingw-w64-x86_64-gcc
        update: true
    - name: display versions
      run: |
        make -v
        cc -v

    - name: Building zlib to static link
      run: |
        git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib
        make -C zlib -f win32/Makefile.gcc libz.a

    - name: Building zstd programs in 64-bit mode
      run: |
        CPPFLAGS=-I../zlib LDFLAGS=../zlib/libz.a make -j allzstd MOREFLAGS=-static V=1

    - name: Create artifacts
      run: |
        ./lib/dll/example/build_package.bat
        mv bin/ zstd-${{ github.ref_name }}-win64/
        7z a -tzip -mx9 zstd-${{ github.ref_name }}-win64.zip zstd-${{ github.ref_name }}-win64/
        cd ..

    - name: Publish zstd-$VERSION-win64.zip
      uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3
      with:
        path: ${{ github.workspace }}/zstd-${{ github.ref_name }}-win64.zip
        name: zstd-${{ github.ref_name }}-win64.zip
