3 on: [push, pull_request]
7 DEBIAN_FRONTEND: noninteractive
8 HOMEBREW_NO_AUTO_UPDATE: 1
9 HOMEBREW_NO_INSTALL_CLEANUP: 1
12 PAWPAW_VERSION: 9534e2b4f9bafc993e05fada89b824f3a2176708
15 # macOS native universal build
19 - uses: actions/checkout@v4
23 uses: actions/cache@v4
27 key: macos-universal-v${{ env.CACHE_VERSION }}
28 - name: Set up dependencies
30 brew install cmake jq meson
31 - name: Bootstrap macOS universal
34 git clone https://github.com/DISTRHO/PawPaw.git
35 git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
36 ./PawPaw/.github/workflows/bootstrap-deps.sh macos-universal
37 ./PawPaw/bootstrap-carla.sh macos-universal && ./PawPaw/.cleanup.sh macos-universal
38 - name: Build macOS universal
41 source PawPaw/local.env macos-universal
43 make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS}
44 make dist ${MAKE_ARGS} TESTING=true -j 1
45 make dist ${MAKE_ARGS} TESTING=true -j 1
46 make dist ${MAKE_ARGS} TESTING=true -j 1
47 make dist ${MAKE_ARGS} TESTING=true -j 1
48 make dist ${MAKE_ARGS} -j 1
49 - uses: actions/upload-artifact@v4
53 - uses: softprops/action-gh-release@v1
54 if: startsWith(github.ref, 'refs/tags/')
56 tag_name: ${{ github.ref_name }}
57 name: ${{ github.ref_name }}
63 # linux with win32 cross-compilation
67 - uses: actions/checkout@v4
71 uses: actions/cache@v4
75 key: win32-v${{ env.CACHE_VERSION }}
76 - name: Restore debian packages cache
78 if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
79 sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
81 - name: Fix GitHub's mess
83 sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
84 sudo dpkg --add-architecture i386
85 sudo apt-get update -qq
86 sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386
87 - name: Set up dependencies
89 sudo apt-get install -y build-essential curl cmake jq meson mingw-w64 gperf qttools5-dev qttools5-dev-tools xvfb \
90 binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable
91 - name: Cache debian packages
93 mkdir -p ~/PawPawBuilds/debs
94 sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
95 - name: Bootstrap win32 cross-compiled
98 git clone https://github.com/DISTRHO/PawPaw.git
99 git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
100 ./PawPaw/.github/workflows/bootstrap-deps.sh win32
101 ./PawPaw/bootstrap-carla.sh win32 && ./PawPaw/.cleanup.sh win32
102 - name: Build win32 cross-compiled
105 source PawPaw/local.env win32
107 make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS}
108 make dist ${MAKE_ARGS} TESTING=true -j 1
109 make dist ${MAKE_ARGS} TESTING=true -j 1
110 make dist ${MAKE_ARGS} TESTING=true -j 1
111 make dist ${MAKE_ARGS} TESTING=true -j 1
112 make dist ${MAKE_ARGS} -j 1
113 - uses: actions/upload-artifact@v4
117 - uses: softprops/action-gh-release@v1
118 if: startsWith(github.ref, 'refs/tags/')
120 tag_name: ${{ github.ref_name }}
121 name: ${{ github.ref_name }}
127 # linux with win64 cross-compilation
129 runs-on: ubuntu-22.04
131 - uses: actions/checkout@v4
133 submodules: recursive
135 uses: actions/cache@v4
139 key: win64-v${{ env.CACHE_VERSION }}
140 - name: Restore debian packages cache
142 if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
143 sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
145 - name: Fix GitHub's mess
147 sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
148 sudo dpkg --add-architecture i386
149 sudo apt-get update -qq
150 sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386
151 - name: Set up dependencies
153 sudo apt-get install -y build-essential curl cmake jq meson mingw-w64 gperf qttools5-dev qttools5-dev-tools xvfb \
154 binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
155 - name: Cache debian packages
157 mkdir -p ~/PawPawBuilds/debs
158 sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
159 - name: Bootstrap win64 cross-compiled
162 git clone https://github.com/DISTRHO/PawPaw.git
163 git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
164 ./PawPaw/.github/workflows/bootstrap-deps.sh win64
165 ./PawPaw/bootstrap-carla.sh win64 && ./PawPaw/.cleanup.sh win64
166 - name: Build win64 cross-compiled
169 source PawPaw/local.env win64
171 make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS}
172 make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS} win32r
173 make dist ${MAKE_ARGS} TESTING=true -j 1
174 make dist ${MAKE_ARGS} TESTING=true -j 1
175 make dist ${MAKE_ARGS} TESTING=true -j 1
176 make dist ${MAKE_ARGS} TESTING=true -j 1
177 make dist ${MAKE_ARGS} -j 1
178 - uses: actions/upload-artifact@v4
182 - uses: softprops/action-gh-release@v1
183 if: startsWith(github.ref, 'refs/tags/')
185 tag_name: ${{ github.ref_name }}
186 name: ${{ github.ref_name }}