diff options
-rw-r--r-- | .github/workflows/build.yml | 300 | ||||
-rw-r--r-- | .github/workflows/irc.yml | 20 |
2 files changed, 3 insertions, 317 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eb825a99..9a42b9d8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,306 +13,12 @@ env: PAWPAW_VERSION: 8c69660ab10b75cd7a488f41386dbcb4c8802c5a 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/builds - ~/PawPawBuilds/downloads - ~/PawPawBuilds/targets - key: macos - - 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 - 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/builds - ~/PawPawBuilds/downloads - ~/PawPawBuilds/targets - key: macos-universal - - 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 - 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-18.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Set up cache - uses: actions/cache@v2 - with: - path: | - ~/PawPawBuilds/builds - ~/PawPawBuilds/debs - ~/PawPawBuilds/downloads - ~/PawPawBuilds/targets - key: win32 - - 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: Set up dependencies - run: | - sudo dpkg --add-architecture i386 - sudo apt-get update -qq - sudo apt-get install -yq autopoint build-essential curl cmake jq llvm llvm-6.0 qttools5-dev-tools xvfb - sudo apt-get install -yq g++-multilib libfreetype6-dev libgl1-mesa-dev libx11-dev libxcursor-dev libxext-dev pkg-config wine-stable:i386 wine64-tools - sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 - sudo update-alternatives --install /usr/bin/llvm-dlltool llvm-dlltool /usr/bin/llvm-dlltool-6.0 50 - - 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 - ./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 WINEPREFIX=$(pwd)/innosetup - 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-18.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Set up cache - uses: actions/cache@v2 - with: - path: | - ~/PawPawBuilds/builds - ~/PawPawBuilds/debs - ~/PawPawBuilds/downloads - ~/PawPawBuilds/targets - key: win64 - - 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: Set up dependencies - run: | - sudo dpkg --add-architecture i386 - sudo apt-get update -qq - sudo apt-get install -yq autopoint build-essential curl cmake jq llvm llvm-6.0 qttools5-dev-tools xvfb - sudo apt-get install -yq g++-multilib libfreetype6-dev libgl1-mesa-dev libx11-dev libxcursor-dev libxext-dev pkg-config wine-stable wine32 wine64-tools - sudo apt-get install -yq binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 g++-mingw-w64-i686 g++-mingw-w64-x86-64 mingw-w64 - sudo update-alternatives --install /usr/bin/llvm-dlltool llvm-dlltool /usr/bin/llvm-dlltool-6.0 50 - - 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 - ./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 WINEPREFIX=$(pwd)/innosetup - 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 steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Set up cache - uses: actions/cache@v2 - with: - path: | - ~/debs - key: ubuntu-20.04 - - name: Restore debian packages cache - run: | - if [ -d ~/debs ] && [ "$(ls ~/debs | wc -l)" -ne 0 ]; then \ - sudo cp ~/debs/*.deb /var/cache/apt/archives/; \ - fi - name: Set up dependencies run: | - sudo add-apt-repository -y ppa:ubuntustudio-ppa/backports - sudo sed -i "s/# deb-src/deb-src/" /etc/apt/sources.list /etc/apt/sources.list.d/*.list - sudo apt-get update -qq - sudo apt-get build-dep jackd2 - sudo apt-get install devscripts - - name: Cache debian packages - run: | - mkdir -p ~/debs && \ - sudo mv /var/cache/apt/archives/*.deb ~/debs/ - - name: Set sha8 - id: slug - run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" - - name: Build jack2 packages - shell: bash - run: | - apt-get source -d jackd2 - tar xf *.debian.tar.xz - rm -rf debian/source - dch -M -b -v "$(cat wscript | awk 'sub("VERSION=","")' | tr -d "'")~$(date +"%Y%m%d")git${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}" -D focal "automated build" - debuild -rfakeroot --no-lintian || true - - uses: actions/upload-artifact@v2 - with: - name: jack2-ubuntu-20.04-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} - path: ~/work/jack2/*.deb + sudo dpkg --add-architecture i386 + sudo apt-get update + sudo apt-get install binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 diff --git a/.github/workflows/irc.yml b/.github/workflows/irc.yml deleted file mode 100644 index d248c616..00000000 --- a/.github/workflows/irc.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: irc - -on: [push] - -jobs: - notification: - runs-on: ubuntu-latest - name: IRC notification - steps: - - name: Format message - id: message - run: | - message="${{ github.actor }} pushed $(echo '${{ github.event.commits[0].message }}' | head -n 1) ${{ github.event.commits[0].url }}" - echo ::set-output name=message::"${message}" - - name: IRC notification - uses: Gottox/irc-message-action@v2 - with: - channel: '#jack' - nickname: jackaudio-bot - message: ${{ steps.message.outputs.message }} |