Add package file for PlatformIO #42
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build minichlink | |
on: [push, pull_request] | |
# push: | |
# paths: | |
# - minichlink/** | |
# pull_request: | |
# paths: | |
# - minichlink/** | |
jobs: | |
build-minichlink: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-12] | |
runs-on: ${{matrix.os}} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Dependencies (Linux) | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: sudo apt-get update && sudo apt-get install -y build-essential make libusb-1.0-0-dev libudev-dev mingw-w64-x86-64-dev gcc-mingw-w64-x86-64 | |
# we don't need to brew install libusb on Mac, actually preinstalled on the runner! :) | |
- name: Build (Linux, Mac) | |
run: | | |
cd minichlink | |
make clean | |
make V=1 -j3 | |
# we cross-compile the Windows binaries from Linux | |
- name: Build (for Windows) | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: | | |
cd minichlink | |
OS=Windows_NT make clean | |
OS=Windows_NT make V=1 -j3 minichlink.exe | |
- name: "Pack (Linux)" | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: tar czf minichlink.tar.gz -C minichlink minichlink minichlink.so 99-minichlink.rules | |
- name: "Pack (Mac)" | |
if: ${{ matrix.os == 'macos-12' }} | |
run: tar czf minichlink.tar.gz -C minichlink minichlink | |
# no packing needed for Windows as it's .exe only | |
- name: "Upload minichlink (Linux)" | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: minichlink (Linux) | |
path: minichlink.tar.gz | |
- name: "Upload minichlink (MacOs 12)" | |
if: ${{ matrix.os == 'macos-12' }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: minichlink (MacOS 12) | |
path: minichlink.tar.gz | |
- name: "Upload minichlink (Windows)" | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: minichlink (Windows) | |
path: | | |
minichlink/minichlink.exe | |
minichlink/libusb-1.0.dll |