name: msvpvf CI

on:
  push:
  pull_request:

jobs:
  build-win:
    runs-on: windows-latest
    defaults:
      run:
        shell: msys2 {0}
    strategy:
      matrix:
        include:
          - { sys: mingw64, env: x86_64 }
          - { sys: mingw32, env: i686 }
    steps:
    - name: Setup MSYS2
      uses: msys2/setup-msys2@v2
      with:
        msystem: ${{matrix.sys}}
        install: >-
          mingw-w64-${{matrix.env}}-make
          mingw-w64-${{matrix.env}}-clang
    - uses: actions/checkout@v2
    - name: make
      run: |
        make
        make gui
        strip msvpvf.exe
        strip gui.exe
    - name: Upload artifact
      uses: actions/upload-artifact@v2
      with:
        name: msvpvf-win-${{matrix.env}}-${{ github.sha }}
        path: |
          gui.exe
          msvpvf.exe
  build-mac:
    runs-on: macOS-latest
    steps:
    - uses: actions/checkout@v2
    - name: make
      run: | 
        make
        strip msvpvf
        gzip -k msvpvf
    - name: Upload artifact
      uses: actions/upload-artifact@v2
      with:
        name: msvpvf-osx-${{ github.sha }}
        path: |
          msvpvf.gz
