shithub: m8c

Download patch

ref: 2317dec1d839ba7bd92f4072f180719e7ab39934
parent: 0df3b761e7dd86cd666686cb994926f2a83d0106
author: Jonne Kokkonen <jonne.kokkonen@gmail.com>
date: Wed Dec 1 14:51:53 EST 2021

Add GitHub Actions builds for Win32, Win64 and Linux x86_64 (#32)


--- /dev/null
+++ b/.github/workflows/build.yml
@@ -1,0 +1,118 @@
+name: m8c build
+
+on:
+  push:
+  pull_request:
+  workflow_dispatch:
+
+jobs:
+  build-win:
+    runs-on: windows-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - { sys: mingw32, env: i686, win: win32 }
+          - { sys: mingw64, env: x86_64, win: win64 }
+    name: ${{ matrix.win }}
+    defaults:
+      run:
+        shell: msys2 {0}
+    env:
+      MINGW_ARCH: ${{ matrix.sys }}
+    steps:
+
+    - name: 'git config'
+      run: git config --global core.autocrlf input
+      shell: bash
+
+    - name: 'Checkout'
+      uses: actions/checkout@v2
+      with:
+        fetch-depth: 0
+
+    - name: 'Setup MSYS2'
+      uses: msys2/setup-msys2@v2
+      with:
+        msystem: ${{ matrix.sys }}
+        update: true
+        install: mingw-w64-${{ matrix.env }}-toolchain make mingw-w64-${{ matrix.env }}-SDL2 mingw-w64-${{ matrix.env }}-libserialport zip dos2unix
+  
+    - name: 'Get current date'
+      id: date
+      run: echo "::set-output name=date::$(date +%Y%m%d)"
+
+    - name: 'Build package'
+      run: |
+        make
+        strip -g m8c.exe
+        if [ ${{ matrix.win }} == "win32" ]
+        then        
+          cp /mingw32/bin/SDL2.dll .
+          cp /mingw32/bin/libgcc_s_dw2-1.dll .
+          cp /mingw32/bin/libserialport-0.dll .
+          cp /mingw32/bin/libwinpthread-1.dll .
+        else
+          cp /mingw64/bin/SDL2.dll .
+          cp /mingw64/bin/libserialport-0.dll .
+        fi
+        unix2dos README.md config.ini LICENSE AUDIOGUIDE.md
+    - name: 'Upload artifact (win32)'
+      if: matrix.win == 'win32'
+      uses: actions/upload-artifact@v2
+      with:
+        name: m8c-${{ steps.date.outputs.date }}-${{ matrix.win }}
+        path: |
+          m8c.exe
+          SDL2.dll
+          libserialport-0.dll
+          libgcc_s_dw2-1.dll
+          libwinpthread-1.dll
+          gamecontrollerdb.txt
+          LICENSE
+          README.md
+          AUDIOGUIDE.md
+          config.ini
+    - name: 'Upload artifact (win64)'
+      if: matrix.win == 'win64'
+      uses: actions/upload-artifact@v2
+      with:
+        name: m8c-${{ steps.date.outputs.date }}-${{ matrix.win }}
+        path: |
+          m8c.exe
+          SDL2.dll
+          libserialport-0.dll
+          gamecontrollerdb.txt
+          LICENSE
+          README.md
+          AUDIOGUIDE.md
+          config.ini
+
+  build-linux:
+    runs-on: ubuntu-latest
+    name: linux-x86_64
+    steps:
+      - name: 'Install dependencies'
+        run: |
+          sudo apt-get update
+          sudo apt-get install --fix-missing build-essential libsdl2-dev libserialport-dev zip
+      - name: 'Checkout'
+        uses: actions/checkout@v2
+
+      - name: 'Get current date'
+        id: date
+        run: echo "::set-output name=date::$(date +%Y%m%d)"
+
+      - name: 'Build package'
+        run: |
+          make
+      - name: 'Upload artifact'
+        uses: actions/upload-artifact@v2
+        with:
+          name: m8c-${{ steps.date.outputs.date }}-linux
+          path: |
+            LICENSE
+            README.md
+            m8c
+            gamecontrollerdb.txt
+            config.ini
--