From fc0262802eb1ca9ee17420079262984821f2ce86 Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 5 Dec 2023 13:03:56 +0100 Subject: [PATCH] Add ubuntu:23.10 to CI Signed-off-by: falkTX --- .github/workflows/bootstrap.yml | 307 ++++++++++++++++---------------- bootstrap-common.sh | 2 +- bootstrap-mod.sh | 2 +- 3 files changed, 154 insertions(+), 157 deletions(-) diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index c827fac..8c00722 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -31,9 +31,6 @@ jobs: - target: linux-i686 container: ubuntu:18.04 os: ubuntu-latest - #- target: linux-riscv64 - #container: ubuntu:18.04 - #os: ubuntu-latest - target: linux-x86_64 container: ubuntu:18.04 os: ubuntu-latest @@ -78,6 +75,31 @@ jobs: - target: win64 container: ubuntu:22.04 os: ubuntu-latest + # ubuntu:23.10 + - target: linux-aarch64 + container: ubuntu:23.10 + os: ubuntu-latest + - target: linux-armhf + container: ubuntu:23.10 + os: ubuntu-latest + - target: linux-i686 + container: ubuntu:23.10 + os: ubuntu-latest + - target: linux-riscv64 + container: ubuntu:23.10 + os: ubuntu-latest + - target: linux-x86_64 + container: ubuntu:23.10 + os: ubuntu-latest + - target: wasm + container: ubuntu:23.10 + os: ubuntu-latest + - target: win32 + container: ubuntu:23.10 + os: ubuntu-latest + - target: win64 + container: ubuntu:23.10 + os: ubuntu-latest runs-on: ${{ matrix.os }} container: image: ${{ matrix.container }} @@ -105,158 +127,133 @@ jobs: name: common-${{ env.PAWPAW_PACK_NAME }} path: common-${{ env.PAWPAW_PACK_NAME }}.tar.gz - #plugins: - #strategy: - #matrix: - #include: - #- name: linux-aarch64 - #os: ubuntu-latest - #container: ubuntu:22.04 - #target: linux-aarch64 - #- name: linux-armhf - #os: ubuntu-latest - #container: ubuntu:22.04 - #target: linux-armhf - #- name: linux-i686 - #os: ubuntu-latest - #container: ubuntu:22.04 - #target: linux-i686 - #- name: linux-riscv64 - #os: ubuntu-latest - #container: ubuntu:22.04 - #target: linux-riscv64 - #- name: linux-x86_64 - #os: ubuntu-latest - #container: ubuntu:22.04 - #target: linux-x86_64 - #- name: macos - #os: macos-11 - #target: macos - #- name: macos-universal - #os: macos-11 - #target: macos-universal - #- name: macos-universal-10.15 - #os: macos-11 - #target: macos-universal-10.15 - #- name: wasm - #os: ubuntu-latest - #container: ubuntu:22.04 - #target: wasm - #- name: win32 - #os: ubuntu-latest - #container: ubuntu:22.04 - #target: win32 - #- name: win64 - #os: ubuntu-latest - #container: ubuntu:22.04 - #target: win64 - #runs-on: ${{ matrix.os }} - #container: - #image: ${{ matrix.container }} - #needs: common - #steps: - #- uses: actions/checkout@v3 - #- name: Set up cache - #uses: actions/cache@v3 - #with: - #path: | - #~/PawPawBuilds - #key: plugins-${{ matrix.target }}-v${{ env.CACHE_VERSION }} - #- name: Set up dependencies (apt-get) - #if: ${{ matrix.installer == 'apt' }} - #run: | - #apt-get update -qq - #apt-get install -yqq autoconf automake autopoint binfmt-support build-essential curl cmake git jq meson gperf qemu-user-static - #- name: Set up dependencies (homebrew) - #if: ${{ matrix.installer == 'homebrew' }} - #run: | - #brew install cmake git jq meson - #- name: Set up dependencies (linux-aarch64) - #if: ${{ matrix.target == 'linux-aarch64' }} - #run: | - #dpkg --add-architecture arm64 - #sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list - #sed -i "s/deb mirror/deb [arch=amd64] mirror/" /etc/apt/sources.list - #echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiverse" | tee /etc/apt/sources.list.d/ports-arm64.list - #echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted universe multiverse" | tee -a /etc/apt/sources.list.d/ports-arm64.list - #echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse" | tee -a /etc/apt/sources.list.d/ports-arm64.list - #apt-get update -qq - #apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgcc-s1:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 liblo-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 - #- name: Set up dependencies (linux-armhf) - #if: ${{ matrix.target == 'linux-armhf' }} - #run: | - #dpkg --add-architecture armhf - #sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list - #sed -i "s/deb mirror/deb [arch=amd64] mirror/" /etc/apt/sources.list - #echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiverse" | tee /etc/apt/sources.list.d/ports-armhf.list - #echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted universe multiverse" | tee -a /etc/apt/sources.list.d/ports-armhf.list - #echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse" | tee -a /etc/apt/sources.list.d/ports-armhf.list - #apt-get update -qq - #apt-get install -y g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf liblo-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf - #- name: Set up dependencies (linux-i686) - #if: ${{ matrix.target == 'linux-i686' }} - #run: | - #dpkg --add-architecture i386 - #apt-get update -qq - #apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libsdl2-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 - #- name: Set up dependencies (linux-riscv64) - #if: ${{ matrix.target == 'linux-riscv64' }} - #run: | - #dpkg --add-architecture riscv64 - #sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list - #sed -i "s/deb mirror/deb [arch=amd64] mirror/" /etc/apt/sources.list - #echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiverse" | tee /etc/apt/sources.list.d/ports-riscv64.list - #echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted universe multiverse" | tee -a /etc/apt/sources.list.d/ports-riscv64.list - #echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse" | tee -a /etc/apt/sources.list.d/ports-riscv64.list - #apt-get update -qq - #apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglib2.0-dev:riscv64 libsdl2-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 - #- name: Set up dependencies (linux-x86_64) - #if: ${{ matrix.target == 'linux-x86_64' }} - #run: | - #apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev - #- name: Set up dependencies (wasm) - #if: ${{ matrix.target == 'wasm' }} - #run: | - #apt-get install -yqq autoconf automake git - #[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk - #cd ~/PawPawBuilds/emsdk && ./emsdk install ${{ env.EMSCRIPTEN_VERSION }} && ./emsdk activate ${{ env.EMSCRIPTEN_VERSION }} - #- name: Set up dependencies (linux-aarch64) - #if: ${{ matrix.target == 'win32' }} - #run: | - #dpkg --add-architecture i386 - #apt-get update -qq - #apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable - #- name: Set up dependencies (win64) - #if: ${{ matrix.target == 'win64' }} - #run: | - #dpkg --add-architecture i386 - #apt-get update -qq - #apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable - #- name: Download common-${{ matrix.target }} - #uses: actions/download-artifact@v3 - #with: - #name: common-${{ matrix.target }} - #path: ~/PawPawBuilds - #- name: Extract common-${{ matrix.target }} - #shell: bash - #run: | - #cd ~/PawPawBuilds && \ - #tar xf common-${{ matrix.target }}.tar.gz - #- name: Run bootstrap - #shell: bash - #run: | - #if [ '${{ matrix.target }}' == 'wasm' ]; then \ - #source ~/PawPawBuilds/emsdk/emsdk_env.sh; \ - #fi - #./bootstrap-plugins.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }} - #- name: Pack bootstrap build - #shell: bash - #run: | - #tar -C ~/PawPawBuilds -czf plugins-${{ matrix.target }}.tar.gz builds targets - #- uses: actions/upload-artifact@v3 - #with: - #name: plugins-${{ matrix.target }} - #path: plugins-${{ matrix.target }}.tar.gz + plugins: + strategy: + matrix: + include: + # macos + - target: macos + os: macos-11 + - target: macos-universal + os: macos-11 + - target: macos-universal-10.15 + os: macos-11 + # ubuntu:18.04 + - target: linux-aarch64 + container: ubuntu:18.04 + os: ubuntu-latest + - target: linux-armhf + container: ubuntu:18.04 + os: ubuntu-latest + - target: linux-i686 + container: ubuntu:18.04 + os: ubuntu-latest + - target: linux-x86_64 + container: ubuntu:18.04 + os: ubuntu-latest + # ubuntu:20.04 + - target: linux-aarch64 + container: ubuntu:20.04 + os: ubuntu-latest + - target: linux-armhf + container: ubuntu:20.04 + os: ubuntu-latest + - target: linux-i686 + container: ubuntu:20.04 + os: ubuntu-latest + - target: linux-riscv64 + container: ubuntu:20.04 + os: ubuntu-latest + - target: linux-x86_64 + container: ubuntu:20.04 + os: ubuntu-latest + # ubuntu:22.04 + - target: linux-aarch64 + container: ubuntu:22.04 + os: ubuntu-latest + - target: linux-armhf + container: ubuntu:22.04 + os: ubuntu-latest + - target: linux-i686 + container: ubuntu:22.04 + os: ubuntu-latest + - target: linux-riscv64 + container: ubuntu:22.04 + os: ubuntu-latest + - target: linux-x86_64 + container: ubuntu:22.04 + os: ubuntu-latest + - target: wasm + container: ubuntu:22.04 + os: ubuntu-latest + - target: win32 + container: ubuntu:22.04 + os: ubuntu-latest + - target: win64 + container: ubuntu:22.04 + os: ubuntu-latest + # ubuntu:23.10 + - target: linux-aarch64 + container: ubuntu:23.10 + os: ubuntu-latest + - target: linux-armhf + container: ubuntu:23.10 + os: ubuntu-latest + - target: linux-i686 + container: ubuntu:23.10 + os: ubuntu-latest + - target: linux-riscv64 + container: ubuntu:23.10 + os: ubuntu-latest + - target: linux-x86_64 + container: ubuntu:23.10 + os: ubuntu-latest + - target: wasm + container: ubuntu:23.10 + os: ubuntu-latest + - target: win32 + container: ubuntu:23.10 + os: ubuntu-latest + - target: win64 + container: ubuntu:23.10 + os: ubuntu-latest + runs-on: ${{ matrix.os }} + container: + image: ${{ matrix.container }} + needs: common + steps: + - uses: actions/checkout@v3 + - name: Set up cache + uses: actions/cache@v3 + with: + path: | + ~/PawPawBuilds + key: plugins-${{ matrix.container || matrix.os }}-${{ matrix.target }}-v${{ env.CACHE_VERSION }} + - name: Set up dependencies + run: | + ./.github/workflows/bootstrap-deps.sh ${{ matrix.target }} + - name: Download common + uses: actions/download-artifact@v3 + with: + name: common-${{ env.PAWPAW_PACK_NAME }} + path: ~/PawPawBuilds + - name: Extract common + shell: bash + run: | + cd ~/PawPawBuilds && \ + tar xf common-${{ env.PAWPAW_PACK_NAME }}.tar.gz + - name: Run bootstrap + shell: bash + run: | + ./bootstrap-plugins.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }} + - name: Pack bootstrap build + shell: bash + run: | + tar -C ~/PawPawBuilds -czf plugins-${{ env.PAWPAW_PACK_NAME }}.tar.gz builds targets + - uses: actions/upload-artifact@v3 + with: + name: plugins-${{ env.PAWPAW_PACK_NAME }} + path: plugins-${{ env.PAWPAW_PACK_NAME }}.tar.gz #jack2: #strategy: diff --git a/bootstrap-common.sh b/bootstrap-common.sh index 6296856..e3788b1 100755 --- a/bootstrap-common.sh +++ b/bootstrap-common.sh @@ -90,7 +90,7 @@ if [ "${LINUX}" -eq 1 ]; then elif [ "${LINUX_TARGET}" = "linux-x86_64" ]; then export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig fi - if ! pkg-config --exists alsa dbus-1 gl glib-2.0 libpcre pthread-stubs uuid x11 xcb xcursor xext xfixes xproto xrandr xrender; then + if ! pkg-config --print-errors --exists alsa dbus-1 gl glib-2.0 libpcre pthread-stubs uuid x11 xcb xcursor xext xfixes xproto xrandr xrender; then echo "some system libs are not available, cannot continue" exit 2 fi diff --git a/bootstrap-mod.sh b/bootstrap-mod.sh index 1874fee..096932a 100755 --- a/bootstrap-mod.sh +++ b/bootstrap-mod.sh @@ -51,7 +51,7 @@ if [ "${LINUX}" -eq 1 ]; then elif [ "${LINUX_TARGET}" = "linux-x86_64" ]; then export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig fi - if ! pkg-config --exists Qt5Core Qt5Gui Qt5Svg Qt5Widgets; then + if ! pkg-config --print-errors --exists Qt5Core Qt5Gui Qt5Svg Qt5Widgets; then echo "Qt system libs are not available, cannot continue" exit 2 fi