Update build.yml
Don't build for non-libre operating systems.
This commit is contained in:
parent
35f4101850
commit
414722d40f
|
@ -15,263 +15,6 @@ env:
|
|||
PAWPAW_SKIP_LTO: 1
|
||||
|
||||
jobs:
|
||||
# macOS native intel build
|
||||
macos:
|
||||
runs-on: macos-10.15
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Set up cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/PawPawBuilds
|
||||
key: macos-v${{ env.CACHE_VERSION }}
|
||||
- name: Set up dependencies
|
||||
run: |
|
||||
brew install cmake jq meson
|
||||
- name: Bootstrap macOS intel
|
||||
shell: bash
|
||||
run: |
|
||||
if [ ! -d PawPaw ]; then
|
||||
git clone https://github.com/DISTRHO/PawPaw.git
|
||||
git -C PawPaw checkout ${PAWPAW_VERSION}
|
||||
fi
|
||||
./PawPaw/bootstrap-jack2.sh macos && ./PawPaw/.cleanup.sh macos
|
||||
- name: Build jack2
|
||||
shell: bash
|
||||
run: |
|
||||
pushd PawPaw && source local.env macos && popd
|
||||
python ./waf configure --platform=darwin --prefix=/usr/local --example-tools
|
||||
python ./waf build -j $(sysctl -n hw.logicalcpu)
|
||||
python ./waf install --destdir=$(pwd)/destdir
|
||||
- name: Set sha8
|
||||
id: slug
|
||||
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
|
||||
- name: Generate macOS package
|
||||
shell: bash
|
||||
run: |
|
||||
./macosx/generate-pkg.sh $(pwd)/destdir/usr/local ${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: jack2-macOS-intel-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
|
||||
path: macosx/jack2-osx-*.pkg
|
||||
|
||||
# macOS native universal build
|
||||
macos_universal:
|
||||
runs-on: macos-10.15
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Set up cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/PawPawBuilds
|
||||
key: macos-universal-v${{ env.CACHE_VERSION }}
|
||||
- name: Set up dependencies
|
||||
run: |
|
||||
brew install cmake jq meson
|
||||
- name: Fix up Xcode
|
||||
run: |
|
||||
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
|
||||
sudo xcode-select -s /Applications/Xcode_12.3.app
|
||||
- name: Bootstrap macOS universal
|
||||
shell: bash
|
||||
run: |
|
||||
if [ ! -d PawPaw ]; then
|
||||
git clone https://github.com/DISTRHO/PawPaw.git
|
||||
git -C PawPaw checkout ${PAWPAW_VERSION}
|
||||
fi
|
||||
./PawPaw/bootstrap-jack2.sh macos-universal && ./PawPaw/.cleanup.sh macos-universal
|
||||
- name: Build jack2
|
||||
shell: bash
|
||||
run: |
|
||||
pushd PawPaw && source local.env macos-universal && popd
|
||||
python ./waf configure --platform=darwin --prefix=/usr/local --example-tools
|
||||
python ./waf build -j $(sysctl -n hw.logicalcpu)
|
||||
python ./waf install --destdir=$(pwd)/destdir
|
||||
- name: Set sha8
|
||||
id: slug
|
||||
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
|
||||
- name: Generate macOS package
|
||||
shell: bash
|
||||
run: |
|
||||
./macosx/generate-pkg.sh $(pwd)/destdir/usr/local ${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: jack2-macOS-universal-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
|
||||
path: macosx/jack2-osx-*.pkg
|
||||
|
||||
# linux with win32 cross-compilation
|
||||
win32:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Set up cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/PawPawBuilds
|
||||
key: win32-v${{ env.CACHE_VERSION }}
|
||||
- name: Restore debian packages cache
|
||||
run: |
|
||||
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
|
||||
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
|
||||
fi
|
||||
- name: Fix GitHub's mess
|
||||
run: |
|
||||
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
|
||||
- name: Set up dependencies
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -y autopoint build-essential curl cmake jq llvm mingw-w64 qttools5-dev-tools xvfb \
|
||||
binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386
|
||||
- name: Cache debian packages
|
||||
run: |
|
||||
mkdir -p ~/PawPawBuilds/debs && \
|
||||
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
|
||||
- name: Bootstrap win32 cross-compiled
|
||||
shell: bash
|
||||
run: |
|
||||
if [ ! -d PawPaw ]; then
|
||||
git clone https://github.com/DISTRHO/PawPaw.git
|
||||
git -C PawPaw checkout ${PAWPAW_VERSION}
|
||||
fi
|
||||
./PawPaw/bootstrap-jack2.sh win32 && ./PawPaw/.cleanup.sh win32
|
||||
- name: Build jack2
|
||||
shell: bash
|
||||
run: |
|
||||
pushd PawPaw && source local.env win32 && popd
|
||||
./waf configure --platform=win32 --prefix=$(pwd)/destdir --static --example-tools
|
||||
./waf build -j $(nproc)
|
||||
./waf install
|
||||
- name: Generate MSVC lib files
|
||||
shell: bash
|
||||
run: |
|
||||
pushd $(pwd)/destdir/lib
|
||||
llvm-dlltool -m i386 -D libjack.dll -d libjack.def -l libjack.lib
|
||||
llvm-dlltool -m i386 -D libjacknet.dll -d libjacknet.def -l libjacknet.lib
|
||||
llvm-dlltool -m i386 -D libjackserver.dll -d libjackserver.def -l libjackserver.lib
|
||||
popd
|
||||
- name: Set sha8
|
||||
id: slug
|
||||
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
|
||||
- name: Generate Windows installer
|
||||
shell: bash
|
||||
run: |
|
||||
# Setup wine
|
||||
export WINEDLLOVERRIDES="mscoree,mshtml="
|
||||
export WINEPREFIX=$(pwd)/innosetup
|
||||
xvfb-run wineboot -u
|
||||
# Download and install innosetup
|
||||
curl -L https://jrsoftware.org/download.php/is.exe?site=2 -o is.exe
|
||||
xvfb-run wine is.exe /allusers /dir=C:\\InnoSeup /nocancel /norestart /verysilent
|
||||
# create installer
|
||||
ln -sf $(pwd)/destdir windows/inno/win32
|
||||
pushd windows/inno
|
||||
echo "#define VERSION \"${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}\"" > version.iss
|
||||
xvfb-run wine ${WINEPREFIX}/drive_c/InnoSeup/ISCC.exe win32-mini.iss
|
||||
popd
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: jack2-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
|
||||
path: windows/inno/jack2-*.exe
|
||||
|
||||
# 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: |
|
||||
~/PawPawBuilds
|
||||
key: win64-v${{ env.CACHE_VERSION }}
|
||||
- name: Restore debian packages cache
|
||||
run: |
|
||||
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
|
||||
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
|
||||
fi
|
||||
- name: Fix GitHub's mess
|
||||
run: |
|
||||
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
|
||||
- name: Set up dependencies
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -y autopoint build-essential curl cmake jq llvm mingw-w64 qttools5-dev-tools xvfb \
|
||||
binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
|
||||
- name: Cache debian packages
|
||||
run: |
|
||||
mkdir -p ~/PawPawBuilds/debs && \
|
||||
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
|
||||
- name: Bootstrap win64 cross-compiled
|
||||
shell: bash
|
||||
run: |
|
||||
if [ ! -d PawPaw ]; then
|
||||
git clone https://github.com/DISTRHO/PawPaw.git
|
||||
git -C PawPaw checkout ${PAWPAW_VERSION}
|
||||
fi
|
||||
./PawPaw/bootstrap-jack2.sh win64 && ./PawPaw/.cleanup.sh win64
|
||||
- name: Build jack2
|
||||
shell: bash
|
||||
run: |
|
||||
pushd PawPaw && source local.env win64 && popd
|
||||
export PATH+=":/usr/i686-w64-mingw32/bin"
|
||||
export LDFLAGS+="-L~/PawPawBuilds/targets/win64/lib32"
|
||||
./waf configure --platform=win32 --prefix=$(pwd)/destdir --static --mixed --example-tools
|
||||
./waf build -j $(nproc)
|
||||
./waf install
|
||||
- name: Generate MSVC lib files
|
||||
shell: bash
|
||||
run: |
|
||||
# 32bit
|
||||
pushd $(pwd)/destdir/lib32
|
||||
llvm-dlltool -m i386 -D libjack.dll -d libjack.def -l libjack.lib
|
||||
popd
|
||||
# 64bit
|
||||
pushd $(pwd)/destdir/lib
|
||||
llvm-dlltool -m i386:x86-64 -D libjack64.dll -d libjack64.def -l libjack64.lib
|
||||
llvm-dlltool -m i386:x86-64 -D libjacknet64.dll -d libjacknet64.def -l libjacknet64.lib
|
||||
llvm-dlltool -m i386:x86-64 -D libjackserver64.dll -d libjackserver64.def -l libjackserver64.lib
|
||||
popd
|
||||
- name: Set sha8
|
||||
id: slug
|
||||
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
|
||||
- name: Generate Windows installer
|
||||
shell: bash
|
||||
run: |
|
||||
# Setup wine
|
||||
export WINEDLLOVERRIDES="mscoree,mshtml="
|
||||
export WINEPREFIX=$(pwd)/innosetup
|
||||
xvfb-run wineboot -u
|
||||
# Download and install innosetup
|
||||
curl -L https://jrsoftware.org/download.php/is.exe?site=2 -o is.exe
|
||||
xvfb-run wine64 is.exe /allusers /dir=C:\\InnoSeup /nocancel /norestart /verysilent
|
||||
# create installer
|
||||
ln -sf $(pwd)/destdir windows/inno/win64
|
||||
pushd windows/inno
|
||||
echo "#define VERSION \"${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}\"" > version.iss
|
||||
xvfb-run wine64 ${WINEPREFIX}/drive_c/InnoSeup/ISCC.exe win64-mini.iss
|
||||
popd
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: jack2-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
|
||||
path: windows/inno/jack2-*.exe
|
||||
|
||||
# ubuntu-20.04
|
||||
ubuntu_20_04:
|
||||
runs-on: ubuntu-20.04
|
||||
|
|
Loading…
Reference in New Issue