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