view .github/workflows/build.yml @ 60:06d8f805e8f0

[Actions]: Change SourceForge link to OSDN
author Paper <37962225+mrpapersonic@users.noreply.github.com>
date Thu, 21 Jul 2022 01:00:50 -0400
parents 8feb66207b99
children 61fa41e1678f
line wrap: on
line source

name: msvpvf CI

on:
  push:
  pull_request:

jobs:
  build-win32:
    name: Windows i686 (32-bit)
    runs-on: windows-latest
    steps:
    - name: Cache MinGW
      uses: actions/cache@v3
      with:
        path: C:\MinGW
        key: MinGW

    - name: Setup MinGW
      run: |
        curl -L -o mingw-get.tar.xz "https://osdn.net/dl/mingw/mingw-get-0.6.3-mingw32-pre-20170905-1-bin.tar.xz"
        mkdir C:\MinGW
        tar xvf mingw-get.tar.xz -C C:\MinGW
        C:\MinGW\bin\mingw-get.exe install mingw32-base-bin
      shell: pwsh

    - uses: actions/checkout@v2

    - name: make
      run: |
        set PATH=C:\MinGW\bin;%PATH%
        set CC=mingw32-gcc
        mingw32-make CC_FLAGS=-static
        mingw32-make gui CC_FLAGS=-static
        strip msvpvf.exe
        strip gui.exe
      shell: cmd

    - name: Upload artifact
      uses: actions/upload-artifact@v2
      with:
        name: msvpvf-win32-${{ github.sha }}
        path: |
          LICENSE
          gui.exe
          msvpvf.exe

  build-win64:
    name: Windows amd64 (64-bit)
    runs-on: windows-latest
    defaults:
      run:
        shell: msys2 {0}
    steps:
    - name: Setup MSYS2
      uses: msys2/setup-msys2@v2
      with:
        msystem: mingw64
        install: >-
          make
          mingw-w64-x86_64-clang

    - uses: actions/checkout@v2

    - name: make
      run: |
        export CC=clang
        make CC_FLAGS=-static
        make gui CC_FLAGS=-static
        strip msvpvf.exe
        strip gui.exe

    - name: Upload artifact
      uses: actions/upload-artifact@v2
      with:
        name: msvpvf-win64-${{ github.sha }}
        path: |
          LICENSE
          gui.exe
          msvpvf.exe

  build-mac:
    name: macOS (64-bit)
    runs-on: macOS-latest
    steps:
    - name: Install "dependencies"
      run: brew install zip

    - uses: actions/checkout@v2

    - name: make
      run: | 
        make
        strip msvpvf
        zip msvpvf.zip msvpvf LICENSE

    - name: Upload artifact
      uses: actions/upload-artifact@v2
      with:
        name: msvpvf-osx-${{ github.sha }}
        path: |
          msvpvf.zip