mirror of
https://github.com/vsariola/sointu.git
synced 2025-05-28 03:10:24 -04:00
95 lines
3.4 KiB
YAML
95 lines
3.4 KiB
YAML
name: Binaries
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- dev
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
- dev
|
|
|
|
jobs:
|
|
binaries:
|
|
runs-on: ${{ matrix.config.os }}
|
|
strategy:
|
|
matrix:
|
|
config:
|
|
- os: windows-latest
|
|
asmnasm: C:\Users\runneradmin\nasm\nasm
|
|
output: sointu-track.exe
|
|
params: -ldflags -H=windowsgui cmd/sointu-track/main.go
|
|
- os: windows-latest
|
|
asmnasm: C:\Users\runneradmin\nasm\nasm
|
|
output: sointu-compile.exe
|
|
params: cmd/sointu-compile/main.go
|
|
- os: windows-latest
|
|
asmnasm: C:\Users\runneradmin\nasm\nasm
|
|
output: sointu-track-native.exe
|
|
params: -ldflags -H=windowsgui -tags=native cmd/sointu-track/main.go
|
|
- os: windows-latest
|
|
asmnasm: C:\Users\runneradmin\nasm\nasm
|
|
output: sointu-vsti.dll
|
|
params: -buildmode=c-shared -tags=plugin ./cmd/sointu-vsti/
|
|
- os: windows-latest
|
|
asmnasm: C:\Users\runneradmin\nasm\nasm
|
|
output: sointu-vsti-native.dll
|
|
params: -buildmode=c-shared -tags="plugin,native" ./cmd/sointu-vsti/
|
|
- os: ubuntu-latest
|
|
asmnasm: /home/runner/nasm/nasm
|
|
output: sointu-track
|
|
params: cmd/sointu-track/main.go
|
|
packages: libegl-dev libvulkan-dev libxkbcommon-x11-dev libwayland-dev libasound2-dev libx11-xcb-dev libxcursor-dev libxfixes-dev
|
|
- os: ubuntu-latest
|
|
asmnasm: /home/runner/nasm/nasm
|
|
output: sointu-compile
|
|
params: cmd/sointu-compile/main.go
|
|
packages: libegl-dev libvulkan-dev libxkbcommon-x11-dev libwayland-dev libasound2-dev libx11-xcb-dev libxcursor-dev libxfixes-dev
|
|
- os: ubuntu-latest
|
|
asmnasm: /home/runner/nasm/nasm
|
|
output: sointu-track-native
|
|
params: -tags=native cmd/sointu-track/main.go
|
|
packages: libegl-dev libvulkan-dev libxkbcommon-x11-dev libwayland-dev libasound2-dev libx11-xcb-dev libxcursor-dev libxfixes-dev
|
|
- os: macos-latest
|
|
asmnasm: /Users/runner/nasm/nasm
|
|
output: sointu-track
|
|
params: cmd/sointu-track/main.go
|
|
- os: macos-latest
|
|
asmnasm: /Users/runner/nasm/nasm
|
|
output: sointu-compile
|
|
params: cmd/sointu-compile/main.go
|
|
- os: macos-latest
|
|
asmnasm: /Users/runner/nasm/nasm
|
|
output: sointu-track-native
|
|
params: -tags=native cmd/sointu-track/main.go
|
|
steps:
|
|
- uses: benjlevesque/short-sha@v2.2
|
|
id: short-sha
|
|
with:
|
|
length: 7
|
|
- uses: lukka/get-cmake@v3.18.3
|
|
- uses: actions/setup-go@v2
|
|
- uses: actions/checkout@v2
|
|
- uses: ilammy/setup-nasm@v1.4.0
|
|
- uses: awalsh128/cache-apt-pkgs-action@latest
|
|
with:
|
|
packages: ${{ matrix.config.packages }}
|
|
version: 1.0
|
|
if: runner.os == 'Linux'
|
|
- name: Build library
|
|
env:
|
|
ASM_NASM: ${{ matrix.config.asmnasm }}
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake -GNinja ..
|
|
ninja sointu
|
|
- name: Build binary
|
|
run: |
|
|
go build -o ${{ matrix.config.output }} ${{ matrix.config.params }}
|
|
- name: Upload binary
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: sointu-${{ runner.os }}-${{ steps.short-sha.outputs.sha }}
|
|
path: ${{ matrix.config.output }} |