Skip to content

Fix build using clang #95

Fix build using clang

Fix build using clang #95

Workflow file for this run

name: build
on: [push, pull_request]
env:
CACHE_VERSION: 1
DEBIAN_FRONTEND: noninteractive
DESTDIR: /tmp/destdir
LIBGL_ALWAYS_SOFTWARE: 'true'
jobs:
linux:
strategy:
matrix:
include:
- target: linux-aarch64
pkgprefix: aarch64-linux-gnu
container: ubuntu:18.04
- target: linux-aarch64
pkgprefix: aarch64-linux-gnu
container: ubuntu:20.04
- target: linux-aarch64
pkgprefix: aarch64-linux-gnu
container: ubuntu:22.04
- target: linux-armhf
pkgprefix: arm-linux-gnueabihf
container: ubuntu:18.04
- target: linux-armhf
pkgprefix: arm-linux-gnueabihf
container: ubuntu:20.04
- target: linux-armhf
pkgprefix: arm-linux-gnueabihf
container: ubuntu:22.04
- target: linux-i686
pkgprefix: i386-linux-gnu
container: ubuntu:18.04
- target: linux-i686
pkgprefix: i386-linux-gnu
container: ubuntu:20.04
- target: linux-x86_64
pkgprefix: x86_64-linux-gnu
container: ubuntu:18.04
- target: linux-x86_64
pkgprefix: x86_64-linux-gnu
container: ubuntu:20.04
- target: linux-x86_64
pkgprefix: x86_64-linux-gnu
container: ubuntu:22.04
runs-on: ubuntu-latest
container:
image: ${{ matrix.container }}
steps:
- name: Install git
run: |
apt-get update -qq && apt-get install -yqq --no-install-recommends ca-certificates git openssl
case "${{ matrix.container }}" in
"ubuntu:18.04")
apt-get install -yqq --no-install-recommends curl libpcre2-8-0
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git_2.34.1-1ubuntu1~bpo18.04.1~ppa1_amd64.deb
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git-man_2.34.1-1ubuntu1~bpo18.04.1~ppa1_all.deb
dpkg -i *.deb
rm *.deb
;;
"ubuntu:20.04")
apt-get install -yqq --no-install-recommends curl
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git_2.34.1-1ubuntu1~bpo20.04.1~ppa1_amd64.deb
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git-man_2.34.1-1ubuntu1~bpo20.04.1~ppa1_all.deb
dpkg -i *.deb
rm *.deb
;;
esac
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up dependencies
run: |
./.github/workflows/bootstrap-deps.sh ${{ matrix.target }}
- name: Build
env:
LDFLAGS: -static-libgcc -static-libstdc++
PKG_CONFIG_PATH: /usr/lib/${{ matrix.pkgprefix }}/pkgconfig
run: |
meson setup build --buildtype=release --prefix=/usr --cross-file scripts/meson/${{ matrix.target }}.ini
ninja -C build
- name: Install
run: |
ninja -C build install
- name: Set sha8 (release)
if: startsWith(github.ref, 'refs/tags/')
run: |
echo "SHA8=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV
- name: Set sha8 (non-release)
if: startsWith(github.ref, 'refs/tags/') != true
run: |
echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
- name: Pack binaries
run: |
tar czf ${{ github.event.repository.name }}-${{ env.PAWPAW_PACK_NAME }}-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
- uses: actions/upload-artifact@v3
with:
name: ${{ github.event.repository.name }}-${{ env.PAWPAW_PACK_NAME }}-${{ github.event.pull_request.number || env.SHA8 }}
path: |
*.tar.gz
- uses: softprops/action-gh-release@v1
if: ${{ matrix.container == 'ubuntu:18.04' && startsWith(github.ref, 'refs/tags/') }}
with:
tag_name: ${{ github.ref_name }}
name: ${{ github.ref_name }}
draft: false
prerelease: false
files: |
*.tar.gz
linux-headless:
runs-on: ubuntu-latest
container:
image: ubuntu:20.04
steps:
- name: Install git
run: |
apt-get update -qq && apt-get install -yqq --no-install-recommends ca-certificates curl git openssl
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git_2.34.1-1ubuntu1~bpo20.04.1~ppa1_amd64.deb
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git-man_2.34.1-1ubuntu1~bpo20.04.1~ppa1_all.deb
dpkg -i *.deb
rm *.deb
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up dependencies
run: |
./.github/workflows/bootstrap-deps.sh linux-headless
apt-get install -yqq libasound2-dev libfftw3-dev libfreetype6-dev pkg-config
- name: Build
run: |
meson setup build --buildtype=release --prefix=/usr -Dlinux-headless=true
ninja -C build
macos:
strategy:
matrix:
include:
- os: macos-11
- os: macos-12
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up dependencies
run: |
./.github/workflows/bootstrap-deps.sh macos
- name: Build
run: |
meson build --buildtype=release --prefix=/usr -Dbuild-universal=true
ninja -C build
- name: Install
run: |
ninja -C build install
- name: Set sha8 (release)
if: startsWith(github.ref, 'refs/tags/')
run: |
echo "SHA8=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV
- name: Set sha8 (non-release)
if: startsWith(github.ref, 'refs/tags/') != true
run: |
echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
- name: Pack binaries
run: |
tar czf ${{ github.event.repository.name }}-${{ env.PAWPAW_PACK_NAME }}-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
- uses: actions/upload-artifact@v3
with:
name: ${{ github.event.repository.name }}-${{ env.PAWPAW_PACK_NAME }}-${{ github.event.pull_request.number || env.SHA8 }}
path: |
*.tar.gz
- uses: softprops/action-gh-release@v1
if: ${{ matrix.os == 'macos-11' && startsWith(github.ref, 'refs/tags/') }}
with:
tag_name: ${{ github.ref_name }}
name: ${{ github.ref_name }}
draft: false
prerelease: false
files: |
*.tar.gz
windows:
strategy:
matrix:
include:
#- target: win32
- target: win64
runs-on: ubuntu-latest
container:
image: ubuntu:22.04
steps:
- name: Install git
run: |
apt-get update -qq && apt-get install -yqq --no-install-recommends ca-certificates git
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up dependencies
run: |
./.github/workflows/bootstrap-deps.sh ${{ matrix.target }}
- name: Build
env:
WINEARCH: ${{ matrix.target }}
WINEDEBUG: -all
WINEDLLOVERRIDES: mscoree,mshtml=
WINEPREFIX: /tmp/wine
run: |
meson setup build --buildtype=release --prefix=/usr --cross-file scripts/meson/${{ matrix.target }}.ini
ninja -C build
- name: Install
env:
WINEDEBUG: -all
WINEPREFIX: /tmp/wine
run: |
ninja -C build install
- name: Set sha8 (release)
if: startsWith(github.ref, 'refs/tags/')
run: |
echo "SHA8=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV
- name: Set sha8 (non-release)
if: startsWith(github.ref, 'refs/tags/') != true
run: |
echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
- name: Pack binaries
run: |
tar czf ${{ github.event.repository.name }}-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
- uses: actions/upload-artifact@v3
with:
name: ${{ github.event.repository.name }}-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }}
path: |
*.tar.gz
- uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
tag_name: ${{ github.ref_name }}
name: ${{ github.ref_name }}
draft: false
prerelease: false
files: |
*.tar.gz