nekobi-reworked/.github/workflows/build.yml

93 lines
2.7 KiB
YAML

name: build
on:
push:
branches:
- '*'
pull_request:
branches:
- '*'
env:
DEBIAN_FRONTEND: noninteractive
BASE_FLAGS: -mtune=generic -msse -msse2
jobs:
# linux x64
linux:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Set up dependencies
run: |
sudo apt-get install -yq libasound2-dev libpulse-dev liblo-dev libgl1-mesa-dev
- name: Build Linux native
env:
CFLAGS: ${BASE_FLAGS} -mfpmath=sse
CXXFLAGS: ${BASE_FLAGS} -mfpmath=sse
run: |
make NOOPT=true
- uses: actions/upload-artifact@v2
with:
name: linux x64 binaries
path: bin/*
# macOS universal
macos:
runs-on: macos-10.15
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Build macOS
env:
CFLAGS: ${BASE_FLAGS} -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -arch x86_64 -arch arm64
CXXFLAGS: ${BASE_FLAGS} -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -arch x86_64 -arch arm64
LDFLAGS: -mmacosx-version-min=10.12 -arch x86_64 -arch arm64
run: |
make NOOPT=true
- uses: actions/upload-artifact@v2
with:
name: macOS universal binaries
path: |
bin/*
!bin/*-dssi.dylib
# linux with win64 cross-compilation
#win64:
#runs-on: ubuntu-20.04
#steps:
#- uses: actions/checkout@v2
#with:
#submodules: recursive
#- name: Set up cache
#uses: actions/cache@v2
#with:
#path: ~/apt-archives
#key: cache-win64
#- name: Restore debian packages cache
#run: |
#if [ -d ~/apt-archives ] && [ "$(ls ~/apt-archives | wc -l)" -ne 0 ]; then \
#sudo cp ~/apt-archives/*.deb /var/cache/apt/archives/; \
#fi
#- name: Set up dependencies
#run: |
#wget -qO- https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add - && \
#sudo dpkg --add-architecture i386 && \
#sudo apt-add-repository -y 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main' && \
#sudo apt-get update -qq && \
#sudo apt-get install -yq mingw-w64 binfmt-support binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 winehq-stable
#- name: Cache debian packages
#run: |
#mkdir -p ~/apt-archives && \
#sudo mv /var/cache/apt/archives/*.deb ~/apt-archives/
#- name: Build win64 cross-compiled
#shell: bash
#run: |
#make
#- uses: actions/upload-artifact@v2
#with:
#name: win64 installer
#path: setup/inno/PawPaw-*.exe