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
--
⑨