diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fde59a6a8..57eee72ab 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,8 +8,8 @@ env: WITH_LTO: false jobs: - macos-11: - runs-on: macos-12 + macos-13: + runs-on: macos-13 steps: - uses: actions/checkout@v4 - name: Set up dependencies @@ -22,32 +22,6 @@ jobs: - name: make run: make -j $(sysctl -n hw.logicalcpu) - ubuntu-20_04: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v4 - - name: Fix GitHub's mess - run: | - sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list - sudo dpkg --add-architecture i386 - 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 apt-get install -yqq libasound2-dev libfluidsynth-dev libgl1-mesa-dev liblo-dev libmagic-dev libpulse-dev libsdl2-dev libsndfile1-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev pkg-config pyqt5-dev-tools qtbase5-dev - sudo apt-get install -yqq g++-multilib libfreetype6:i386 libfontconfig1:i386 libx11-6:i386 libxext6:i386 - # Fix 32bit bridge build - sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so - sudo ln -s /usr/lib/i386-linux-gnu/libXext.so.6 /usr/lib/i386-linux-gnu/libXext.so - sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/i386-linux-gnu/libfreetype.so - sudo ln -s /usr/lib/i386-linux-gnu/libfontconfig.so.1 /usr/lib/i386-linux-gnu/libfontconfig.so - - name: make features - run: make features - - name: make - run: make -j $(nproc) - - name: make posix32 - run: make posix32 -j $(nproc) - ubuntu-22_04: runs-on: ubuntu-22.04 steps: diff --git a/.github/workflows/dpf.yml b/.github/workflows/dpf.yml index 59f0896d8..a871b9f2a 100644 --- a/.github/workflows/dpf.yml +++ b/.github/workflows/dpf.yml @@ -8,7 +8,7 @@ jobs: matrix: target: [linux-x86_64] # linux-arm64, linux-armhf, linux-i686, linux-riscv64 - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -23,7 +23,7 @@ jobs: strategy: matrix: target: [macos-intel, macos-universal] - runs-on: macos-12 + runs-on: macos-13 steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 768a1c14e..918d476cd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,18 +3,20 @@ name: release on: [push, pull_request] env: - CACHE_VERSION: 1 + CACHE_VERSION: 4 + DEBIAN_FRONTEND: noninteractive + HOMEBREW_NO_AUTO_UPDATE: 1 + HOMEBREW_NO_INSTALL_CLEANUP: 1 PAWPAW_SKIP_LTO: 1 - PAWPAW_VERSION: 80607a764da0b5a6b2daa4d5dd165beafa0535bc + PAWPAW_SKIP_TESTS: 1 + PAWPAW_VERSION: 2606d0d436471b12902d60edd2aeb2390db44e62 jobs: # macOS native universal build macos_universal: - runs-on: macos-12 + runs-on: macos-13 steps: - uses: actions/checkout@v4 - with: - submodules: recursive - name: Set up cache uses: actions/cache@v4 with: @@ -36,7 +38,7 @@ jobs: run: | source PawPaw/local.env macos-universal make features - make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS} + make NOOPT=true ${MAKE_ARGS} make dist ${MAKE_ARGS} TESTING=true -j 1 make dist ${MAKE_ARGS} TESTING=true -j 1 make dist ${MAKE_ARGS} TESTING=true -j 1 @@ -58,39 +60,22 @@ jobs: # linux with win32 cross-compilation win32: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest + container: + image: ubuntu:22.04 steps: - uses: actions/checkout@v4 - with: - submodules: recursive - name: Set up cache uses: actions/cache@v4 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 dpkg --add-architecture i386 - sudo apt-get update -qq - sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386 - - name: Set up dependencies - run: | - sudo apt-get install -y build-essential curl cmake jq meson mingw-w64 gperf qttools5-dev qttools5-dev-tools xvfb \ - binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable - - 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: | + apt-get update -qq + apt-get install -yqq git unzip zip git clone https://github.com/DISTRHO/PawPaw.git git -C PawPaw checkout ${{ env.PAWPAW_VERSION }} ./PawPaw/.github/workflows/bootstrap-deps.sh win32 @@ -100,7 +85,7 @@ jobs: run: | source PawPaw/local.env win32 make features - make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS} + make NOOPT=true ${MAKE_ARGS} make dist ${MAKE_ARGS} TESTING=true -j 1 make dist ${MAKE_ARGS} TESTING=true -j 1 make dist ${MAKE_ARGS} TESTING=true -j 1 @@ -122,39 +107,22 @@ jobs: # linux with win64 cross-compilation win64: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest + container: + image: ubuntu:22.04 steps: - uses: actions/checkout@v4 - with: - submodules: recursive - name: Set up cache uses: actions/cache@v4 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 dpkg --add-architecture i386 - sudo apt-get update -qq - sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386 - - name: Set up dependencies - run: | - sudo apt-get install -y build-essential curl cmake jq meson mingw-w64 gperf qttools5-dev 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: | + apt-get update -qq + apt-get install -yqq git unzip zip git clone https://github.com/DISTRHO/PawPaw.git git -C PawPaw checkout ${{ env.PAWPAW_VERSION }} ./PawPaw/.github/workflows/bootstrap-deps.sh win64 @@ -164,8 +132,8 @@ jobs: run: | source PawPaw/local.env win64 make features - make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS} - make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS} win32r + make NOOPT=true ${MAKE_ARGS} + make NOOPT=true ${MAKE_ARGS} win32r make dist ${MAKE_ARGS} TESTING=true -j 1 make dist ${MAKE_ARGS} TESTING=true -j 1 make dist ${MAKE_ARGS} TESTING=true -j 1 diff --git a/.github/workflows/wine.yml b/.github/workflows/wine.yml deleted file mode 100644 index 7c85f9726..000000000 --- a/.github/workflows/wine.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: wine - -on: [push, pull_request] - -env: - DEBIAN_FRONTEND: noninteractive - HOMEBREW_NO_AUTO_UPDATE: 1 - -jobs: - ubuntu-20_04: - runs-on: ubuntu-20.04 - env: - WINECC: winegcc-stable - WINEDEBUG: "-all" - steps: - - uses: actions/checkout@v4 - - 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 libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal - sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4 - - name: Set up dependencies - run: | - sudo dpkg --add-architecture i386 - sudo apt-get update -qq - sudo apt-get install -yq g++-multilib libfreetype6-dev libgl1-mesa-dev libx11-dev libxcursor-dev libxext-dev pkg-config wine-stable 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 - - name: make - run: make -j $(nproc) - #- name: make wine32 - #run: make wine32 -j $(nproc) - - name: make wine64 - run: make wine64 -j $(nproc) - - name: make win32 CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ - run: make win32 CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ -j $(nproc) - - name: make win64 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ - run: make win64 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ -j $(nproc) - - name: make plugin-wine - run: make plugin-wine -j $(nproc) - - name: make plugin-wine CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ - run: make plugin-wine CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ -j $(nproc)