Skip to content

try ci rework

try ci rework #290

Workflow file for this run

name: bootstrap
on:
push:
env:
CACHE_VERSION: 3
DEBIAN_FRONTEND: noninteractive
EMSCRIPTEN_VERSION: 3.1.27
PAWPAW_SKIP_TESTS: 1
jobs:
common:
strategy:
matrix:
include:
- target: linux-aarch64
os: ubuntu-latest
container: ubuntu:22.04
- target: linux-armhf
os: ubuntu-latest
container: ubuntu:22.04
- target: linux-i686
os: ubuntu-latest
container: ubuntu:22.04
- target: linux-riscv64
os: ubuntu-latest
container: ubuntu:22.04
- target: linux-x86_64
os: ubuntu-latest
container: ubuntu:22.04
- target: macos
os: macos-11
- target: macos-universal
os: macos-11
- target: macos-universal-10.15
os: macos-11
- target: wasm
os: ubuntu-latest
container: ubuntu:22.04
- target: win32
os: ubuntu-latest
container: ubuntu:22.04
- target: win64
os: ubuntu-latest
container: ubuntu:22.04
runs-on: ${{ matrix.os }}
container:
image: ${{ matrix.container }}
steps:
- uses: actions/checkout@v3
- name: Set up cache
uses: actions/cache@v3
with:
path: |
~/PawPawBuilds
key: common-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
- name: Set up dependencies
run: |
./.github/workflows/bootstrap-deps.sh ${{ matrix.target }}
- name: Run bootstrap
shell: bash
run: |
if [ '${{ matrix.target }}' == 'wasm' ]; then
source ~/PawPawBuilds/emsdk/emsdk_env.sh
fi
./bootstrap-common.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
- name: Pack bootstrap build
shell: bash
run: |
tar -C ~/PawPawBuilds -czf common-${{ matrix.target }}.tar.gz builds targets
- uses: actions/upload-artifact@v3
with:
name: common-${{ matrix.target }}
path: common-${{ matrix.target }}.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
#jack2:
#strategy:
#matrix:
#include:
#- name: macos
#installer: homebrew
#os: macos-11
#target: macos
#- name: macos-universal
#installer: homebrew
#os: macos-11
#target: macos-universal
#- name: macos-universal-10.15
#installer: homebrew
#os: macos-11
#target: macos-universal-10.15
#- name: win32
#installer: apt
#os: ubuntu-22.04
#target: win32
#- name: win64
#installer: apt
#os: ubuntu-22.04
#target: win64
#runs-on: ${{ matrix.os }}
#needs: common
#steps:
#- uses: actions/checkout@v3
#- name: Set up cache
#uses: actions/cache@v3
#with:
#path: |
#~/PawPawBuilds
#key: jack2-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
#- name: (apt) Restore debian package cache
#if: ${{ matrix.installer == 'apt' }}
#run: |
#if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
#sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
#fi
#- name: (apt) Fix GitHub's mess
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo rm /etc/apt/sources.list.d/*.list
#sudo apt-get update -qq
#sudo apt-get purge -yqq git-man libclang* libgbm* libllvm* libmono* libnginx* moby* mono* msbuild* nginx* perl php* libgdiplus libpcre2-posix3 libselinux1-dev libzip4
#sudo apt-get install -yqq --allow-downgrades git/jammy
#- name: (apt) Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux-aarch64' ]; then
#sudo dpkg --add-architecture arm64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-aarch64-linux-gnu libasound2-dev:arm64 libatomic1:arm64 libc6:arm64 libdbus-1-dev:arm64 libgcc-s1:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 liblo-dev:arm64 libstdc++6:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-armhf' ]; then
#sudo dpkg --add-architecture armhf
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-arm-linux-gnueabihf libasound2-dev:armhf libatomic1:armhf libc6:armhf libdbus-1-dev:armhf libgcc-s1:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf liblo-dev:armhf libstdc++6:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-i686' ]; then
#sudo dpkg --add-architecture i386
#sudo apt-get update -qq
#sudo 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 gperf
#elif [ '${{ matrix.target }}' == 'linux-riscv64' ]; then
#sudo dpkg --add-architecture riscv64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libsdl2-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-x86_64' ]; then
#sudo apt-get install -yqq --allow-downgrades libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev gperf
#elif [ '${{ matrix.target }}' == 'wasm' ]; then
#sudo apt-get install -yqq --allow-downgrades autoconf automake git gperf
#fi
## extra, for wasm
#if [ '${{ matrix.target }}' == 'wasm' ]; then
#[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk
#cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then
#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 binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 gperf wine-stable
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then
#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 binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 gperf wine-stable
#fi
#sudo apt-get install -yqq --allow-downgrades autoconf automake autopoint build-essential curl cmake git jq meson
#- name: (homebrew) Set up dependencies
#if: ${{ matrix.installer == 'homebrew' }}
#run: |
#brew install cmake git jq meson
#- name: (apt) Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- 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: |
#./bootstrap-jack2.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
#- name: Pack bootstrap build
#shell: bash
#run: |
#tar -C ~/PawPawBuilds -czf jack2-${{ matrix.target }}.tar.gz builds targets
#- uses: actions/upload-artifact@v3
#with:
#name: jack2-${{ matrix.target }}
#path: jack2-${{ matrix.target }}.tar.gz
#qt:
#strategy:
#matrix:
#include:
#- name: macos
#installer: homebrew
#os: macos-11
#target: macos
#- name: macos-universal
#installer: homebrew
#os: macos-11
#target: macos-universal
#- name: macos-universal-10.15
#installer: homebrew
#os: macos-11
#target: macos-universal-10.15
#- name: win32
#installer: apt
#os: ubuntu-22.04
#target: win32
#- name: win64
#installer: apt
#os: ubuntu-22.04
#target: win64
#runs-on: ${{ matrix.os }}
#needs: common
#steps:
#- uses: actions/checkout@v3
#- name: Set up cache
#uses: actions/cache@v3
#with:
#path: |
#~/PawPawBuilds
#key: qt-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
#- name: (apt) Restore debian package cache
#if: ${{ matrix.installer == 'apt' }}
#run: |
#if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
#sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
#fi
#- name: (apt) Fix GitHub's mess
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo rm /etc/apt/sources.list.d/*.list
#sudo apt-get update -qq
#sudo apt-get purge -yqq git-man libclang* libgbm* libllvm* libmono* libnginx* moby* mono* msbuild* nginx* perl php* libgdiplus libpcre2-posix3 libselinux1-dev libzip4
#sudo apt-get install -yqq --allow-downgrades git/jammy
#- name: (apt) Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux-aarch64' ]; then
#sudo dpkg --add-architecture arm64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-aarch64-linux-gnu libasound2-dev:arm64 libatomic1:arm64 libc6:arm64 libdbus-1-dev:arm64 libgcc-s1:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 liblo-dev:arm64 libstdc++6:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-armhf' ]; then
#sudo dpkg --add-architecture armhf
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-arm-linux-gnueabihf libasound2-dev:armhf libatomic1:armhf libc6:armhf libdbus-1-dev:armhf libgcc-s1:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf liblo-dev:armhf libstdc++6:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-i686' ]; then
#sudo dpkg --add-architecture i386
#sudo apt-get update -qq
#sudo 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 gperf
#elif [ '${{ matrix.target }}' == 'linux-riscv64' ]; then
#sudo dpkg --add-architecture riscv64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libsdl2-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-x86_64' ]; then
#sudo apt-get install -yqq --allow-downgrades libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev gperf
#elif [ '${{ matrix.target }}' == 'wasm' ]; then
#sudo apt-get install -yqq --allow-downgrades autoconf automake git gperf
#fi
## extra, for wasm
#if [ '${{ matrix.target }}' == 'wasm' ]; then
#[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk
#cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then
#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 binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 gperf wine-stable
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then
#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 binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 gperf wine-stable
#fi
#sudo apt-get install -yqq --allow-downgrades autoconf automake autopoint build-essential curl cmake git jq meson
#- name: (homebrew) Set up dependencies
#if: ${{ matrix.installer == 'homebrew' }}
#run: |
#brew install cmake git jq meson
#- name: (apt) Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- 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: |
#./bootstrap-qt.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
#- name: Pack bootstrap build
#shell: bash
#run: |
#tar -C ~/PawPawBuilds -czf qt-${{ matrix.target }}.tar.gz builds targets
#- uses: actions/upload-artifact@v3
#with:
#name: qt-${{ matrix.target }}
#path: qt-${{ matrix.target }}.tar.gz
#carla:
#strategy:
#matrix:
#include:
#- name: macos-universal
#installer: homebrew
#os: macos-11
#target: macos-universal
#- name: win32
#installer: apt
#os: ubuntu-22.04
#target: win32
#- name: win64
#installer: apt
#os: ubuntu-22.04
#target: win64
#runs-on: ${{ matrix.os }}
#needs: [plugins, qt]
#steps:
#- uses: actions/checkout@v3
#- name: Set up cache
#uses: actions/cache@v3
#with:
#path: |
#~/PawPawBuilds
#key: carla-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
#- name: (apt) Restore debian package cache
#if: ${{ matrix.installer == 'apt' }}
#run: |
#if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
#sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
#fi
#- name: (apt) Fix GitHub's mess
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo rm /etc/apt/sources.list.d/*.list
#sudo apt-get update -qq
#sudo apt-get purge -yqq git-man libclang* libgbm* libllvm* libmono* libnginx* moby* mono* msbuild* nginx* perl php* libgdiplus libpcre2-posix3 libselinux1-dev libzip4
#sudo apt-get install -yqq --allow-downgrades git/jammy
#- name: (apt) Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux-aarch64' ]; then
#sudo dpkg --add-architecture arm64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-aarch64-linux-gnu libasound2-dev:arm64 libatomic1:arm64 libc6:arm64 libdbus-1-dev:arm64 libgcc-s1:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 liblo-dev:arm64 libstdc++6:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-armhf' ]; then
#sudo dpkg --add-architecture armhf
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-arm-linux-gnueabihf libasound2-dev:armhf libatomic1:armhf libc6:armhf libdbus-1-dev:armhf libgcc-s1:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf liblo-dev:armhf libstdc++6:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-i686' ]; then
#sudo dpkg --add-architecture i386
#sudo apt-get update -qq
#sudo 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 gperf
#elif [ '${{ matrix.target }}' == 'linux-riscv64' ]; then
#sudo dpkg --add-architecture riscv64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libsdl2-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-x86_64' ]; then
#sudo apt-get install -yqq --allow-downgrades libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev gperf
#elif [ '${{ matrix.target }}' == 'wasm' ]; then
#sudo apt-get install -yqq --allow-downgrades autoconf automake git gperf
#fi
## extra, for wasm
#if [ '${{ matrix.target }}' == 'wasm' ]; then
#[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk
#cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then
#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 binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 gperf wine-stable
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then
#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 binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 gperf wine-stable
#fi
#sudo apt-get install -yqq --allow-downgrades autoconf automake autopoint build-essential curl cmake git jq meson
#- name: (homebrew) Set up dependencies
#if: ${{ matrix.installer == 'homebrew' }}
#run: |
#brew install cmake git jq meson
#- name: (apt) Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- name: Download common-${{ matrix.target }}
#uses: actions/download-artifact@v3
#with:
#name: common-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Download qt-${{ matrix.target }}
#uses: actions/download-artifact@v3
#with:
#name: qt-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Download plugins-${{ matrix.target }}
#uses: actions/download-artifact@v3
#with:
#name: plugins-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Extract {common,plugins,qt}-${{ matrix.target }}
#shell: bash
#run: |
#cd ~/PawPawBuilds && \
#tar xf common-${{ matrix.target }}.tar.gz && \
#tar xf plugins-${{ matrix.target }}.tar.gz && \
#tar xf qt-${{ matrix.target }}.tar.gz
#- name: Run bootstrap
#shell: bash
#run: |
#./bootstrap-carla.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
#cardinal:
#env:
#PAWPAW_SKIP_LTO: 1
#PAWPAW_SKIP_GLIB: 1
#PAWPAW_SKIP_LV2: 1
#PAWPAW_SKIP_SAMPLERATE: 1
#strategy:
#matrix:
#include:
#- name: linux-aarch64
#installer: apt
#os: ubuntu-20.04
#target: linux-aarch64
#- name: linux-armhf
#installer: apt
#os: ubuntu-20.04
#target: linux-armhf
#- name: linux-i686
#installer: apt
#os: ubuntu-20.04
#target: linux-i686
#- name: linux-riscv64
#installer: apt
#os: ubuntu-20.04
#target: linux-riscv64
#- name: linux-x86_64
#installer: apt
#os: ubuntu-20.04
#target: linux-x86_64
#- name: macos-universal-10.15
#installer: homebrew
#os: macos-11
#target: macos-universal-10.15
#- name: wasm
#installer: apt
#os: ubuntu-22.04
#target: wasm
#- name: win32
#installer: apt
#os: ubuntu-22.04
#target: win32
#- name: win64
#installer: apt
#os: ubuntu-22.04
#target: win64
#runs-on: ${{ matrix.os }}
#steps:
#- uses: actions/checkout@v3
#- name: Set up cache
#uses: actions/cache@v3
#with:
#path: |
#~/PawPawBuilds
#key: cardinal-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
#- name: (apt) Restore debian package cache
#if: ${{ matrix.installer == 'apt' }}
#run: |
#if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
#sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
#fi
#- name: (apt) Fix GitHub's mess in ubuntu-20.04
#if: ${{ matrix.os == 'ubuntu-20.04' }}
#run: |
#sudo rm /etc/apt/sources.list.d/*.list
#sudo apt-get update -qq
#sudo apt-get purge -yqq git-man libclang* libgbm* libllvm* libmono* libnginx* moby* mono* nginx* perl php* libgdiplus libpcre2-posix3 libselinux1-dev libzip4
#sudo apt-get install -yqq --allow-downgrades autoconf/focal automake/focal build-essential/focal git/focal libgd3/focal libglib2.0-0/focal libglib2.0-dev/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal pkg-config/focal
#- name: (apt) Fix GitHub's mess in ubuntu-22.04
#if: ${{ matrix.os == 'ubuntu-22.04' }}
#run: |
#sudo rm /etc/apt/sources.list.d/*.list
#sudo apt-get update -qq
#sudo apt-get purge -yqq git-man libclang* libgbm* libllvm* libmono* libnginx* moby* mono* msbuild* nginx* perl php* libgdiplus libpcre2-posix3 libselinux1-dev libzip4
#sudo apt-get install -yqq --allow-downgrades git/jammy
#- name: (apt) Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux-aarch64' ]; then
#sudo dpkg --add-architecture arm64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo sed -i "s/deb mirror/deb [arch=amd64] mirror/" /etc/apt/sources.list
#echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list
#echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-aarch64-linux-gnu libasound2-dev:arm64 libatomic1:arm64 libc6:arm64 libdbus-1-dev:arm64 libgcc-s1:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 liblo-dev:arm64 libstdc++6:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-armhf' ]; then
#sudo dpkg --add-architecture armhf
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo sed -i "s/deb mirror/deb [arch=amd64] mirror/" /etc/apt/sources.list
#echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list
#echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-arm-linux-gnueabihf libasound2-dev:armhf libatomic1:armhf libc6:armhf libdbus-1-dev:armhf libgcc-s1:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf liblo-dev:armhf libstdc++6:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-i686' ]; then
#sudo dpkg --add-architecture i386
#sudo apt-get update -qq
#sudo 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 gperf
#elif [ '${{ matrix.target }}' == 'linux-riscv64' ]; then
#sudo dpkg --add-architecture riscv64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo sed -i "s/deb mirror/deb [arch=amd64] mirror/" /etc/apt/sources.list
#echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-riscv64.list
#echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libsdl2-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-x86_64' ]; then
#sudo apt-get install -yqq --allow-downgrades libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev gperf
#elif [ '${{ matrix.target }}' == 'wasm' ]; then
#sudo apt-get install -yqq --allow-downgrades autoconf automake git gperf
#fi
## extra, for wasm
#if [ '${{ matrix.target }}' == 'wasm' ]; then
#[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk
#cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then
#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 binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 gperf wine-stable
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then
#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 binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 gperf wine-stable
#fi
#sudo apt-get install -yqq --allow-downgrades autoconf automake autopoint build-essential curl cmake git jq meson
#- name: (homebrew) Set up dependencies
#if: ${{ matrix.installer == 'homebrew' }}
#run: |
#brew install cmake git jq meson
#- name: (apt) Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- name: Run bootstrap
#shell: bash
#run: |
#if [ '${{ matrix.target }}' == 'wasm' ]; then \
#source ~/PawPawBuilds/emsdk/emsdk_env.sh; \
#fi
#./bootstrap-cardinal.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
#modaudio:
#strategy:
#matrix:
#include:
#- name: linux-x86_64
#installer: apt
#os: ubuntu-22.04
#target: win64
#- name: macos-universal-10.15
#installer: homebrew
#os: macos-11
#target: macos-universal-10.15
#- name: win64
#installer: apt
#os: ubuntu-22.04
#target: win64
#runs-on: ${{ matrix.os }}
#steps:
#- uses: actions/checkout@v3
#- name: Set up cache
#uses: actions/cache@v3
#with:
#path: |
#~/PawPawBuilds
#key: carla-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
#- name: (apt) Restore debian package cache
#if: ${{ matrix.installer == 'apt' }}
#run: |
#if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
#sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
#fi
#- name: (apt) Fix GitHub's mess
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo rm /etc/apt/sources.list.d/*.list
#sudo apt-get update -qq
#sudo apt-get purge -yqq git-man libclang* libgbm* libllvm* libmono* libnginx* moby* mono* msbuild* nginx* perl php* libgdiplus libpcre2-posix3 libselinux1-dev libzip4
#sudo apt-get install -yqq --allow-downgrades git/jammy
#- name: (apt) Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux-aarch64' ]; then
#sudo dpkg --add-architecture arm64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-aarch64-linux-gnu libasound2-dev:arm64 libatomic1:arm64 libc6:arm64 libdbus-1-dev:arm64 libgcc-s1:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 liblo-dev:arm64 libstdc++6:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-armhf' ]; then
#sudo dpkg --add-architecture armhf
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades g++-arm-linux-gnueabihf libasound2-dev:armhf libatomic1:armhf libc6:armhf libdbus-1-dev:armhf libgcc-s1:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf liblo-dev:armhf libstdc++6:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-i686' ]; then
#sudo dpkg --add-architecture i386
#sudo apt-get update -qq
#sudo 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 gperf
#elif [ '${{ matrix.target }}' == 'linux-riscv64' ]; then
#sudo dpkg --add-architecture riscv64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#sudo 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" | sudo 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" | sudo 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" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libsdl2-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 gperf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-x86_64' ]; then
#sudo apt-get install -yqq --allow-downgrades libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev gperf
#elif [ '${{ matrix.target }}' == 'wasm' ]; then
#sudo apt-get install -yqq --allow-downgrades autoconf automake git gperf
#fi
## extra, for wasm
#if [ '${{ matrix.target }}' == 'wasm' ]; then
#[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk
#cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then
#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 binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 gperf wine-stable
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then
#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 binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 gperf wine-stable
#fi
#sudo apt-get install -yqq --allow-downgrades autoconf automake autopoint build-essential curl cmake git jq meson
#- name: (homebrew) Set up dependencies
#if: ${{ matrix.installer == 'homebrew' }}
#run: |
#brew install cmake git jq meson
#- name: (apt) Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- name: Run bootstrap
#shell: bash
#run: |
#./bootstrap-mod.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}