From 524088fc95fe0a60b8c3acd0f193657fa636ad35 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 17 Dec 2022 19:36:32 +0000 Subject: [PATCH] Divide CI builds into 2 stages for wasm/mod/macos/win builds Signed-off-by: falkTX --- .github/workflows/build.yml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8678a90..2f57a90 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -659,12 +659,14 @@ jobs: sed -i "s/CT_LOG_PROGRESS_BAR=y/CT_LOG_PROGRESS_BAR=n/" deps/mod-plugin-builder/toolchain/*.config $(pwd)/deps/mod-plugin-builder/bootstrap.sh modduo-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduo-static - name: Build for modduo + if: steps.mpb-cache.outputs.cache-hit == 'true' run: | make modduo HEADLESS=true WITH_LTO=${{ env.WITH_LTO }} MODDUO=true -j $(nproc) - name: Set sha8 id: slug run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV - name: Pack binaries + if: steps.mpb-cache.outputs.cache-hit == 'true' run: | tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-modduo-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C bin $(ls bin | grep lv2) - uses: actions/upload-artifact@v3 @@ -699,12 +701,14 @@ jobs: sed -i "s/CT_LOG_PROGRESS_BAR=y/CT_LOG_PROGRESS_BAR=n/" deps/mod-plugin-builder/toolchain/*.config $(pwd)/deps/mod-plugin-builder/bootstrap.sh modduox-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduox-static - name: Build for modduox + if: steps.mpb-cache.outputs.cache-hit == 'true' run: | make modduox HEADLESS=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc) - name: Set sha8 id: slug run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV - name: Pack binaries + if: steps.mpb-cache.outputs.cache-hit == 'true' run: | tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-modduox-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C bin $(ls bin | grep lv2) - uses: actions/upload-artifact@v3 @@ -739,12 +743,14 @@ jobs: sed -i "s/CT_LOG_PROGRESS_BAR=y/CT_LOG_PROGRESS_BAR=n/" deps/mod-plugin-builder/toolchain/*.config $(pwd)/deps/mod-plugin-builder/bootstrap.sh moddwarf minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh moddwarf - name: Build for moddwarf + if: steps.mpb-cache.outputs.cache-hit == 'true' run: | make moddwarf HEADLESS=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc) - name: Set sha8 id: slug run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV - name: Pack binaries + if: steps.mpb-cache.outputs.cache-hit == 'true' run: | tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-moddwarf-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C bin $(ls bin | grep lv2) - uses: actions/upload-artifact@v3 @@ -787,12 +793,16 @@ jobs: source ~/PawPawBuilds/emsdk/emsdk_env.sh ./deps/PawPaw/bootstrap-cardinal.sh wasm && ./deps/PawPaw/.cleanup.sh wasm - name: Build wasm cross-compiled + if: steps.cache.outputs.cache-hit == 'true' + env: + WITH_LTO: 'false' run: | source ~/PawPawBuilds/emsdk/emsdk_env.sh pushd deps/PawPaw; source local.env wasm; popd make features - make CIBUILD=true HAVE_LIBLO=false NOOPT=true USE_GLES2=true WITH_LTO=false -j $(nproc) + make CIBUILD=true HAVE_LIBLO=false NOOPT=true USE_GLES2=true -j $(nproc) - name: Make wasm versioned and compress + if: steps.cache.outputs.cache-hit == 'true' run: | VERSION=$(cat Makefile | awk 'sub("VERSION = ","")') cd bin @@ -809,6 +819,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') run: echo "SHA8=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV - name: Pack binaries + if: steps.cache.outputs.cache-hit == 'true' run: | cd bin; zip -r -9 ../${{ github.event.repository.name }}-wasm-${{ github.event.pull_request.number || env.SHA8 }}.zip $(ls *.br *.html *.data *.js *.wasm) - uses: actions/upload-artifact@v3 @@ -863,10 +874,11 @@ jobs: NM: emnm RANLIB: emranlib STRIP: emstrip + WITH_LTO: 'false' run: | source ~/emsdk/emsdk_env.sh make features - make CIBUILD=true NOPLUGINS=true STATIC_BUILD=true USE_GLES2=true WITH_LTO=false -j $(nproc) + make CIBUILD=true NOPLUGINS=true STATIC_BUILD=true USE_GLES2=true -j $(nproc) - name: Make wasm versioned and compress run: | VERSION=$(cat Makefile | awk 'sub("VERSION = ","")') @@ -945,6 +957,7 @@ jobs: if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi ./deps/PawPaw/bootstrap-cardinal.sh win32 && ./deps/PawPaw/.cleanup.sh win32 - name: Build win32 cross-compiled (base) + if: steps.cache.outputs.cache-hit == 'true' run: | if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi export PATH="/usr/lib/ccache:${PATH}" @@ -952,6 +965,7 @@ jobs: make features make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc) - name: Build win32 cross-compiled (carla) + if: steps.cache.outputs.cache-hit == 'true' run: | if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi export PATH="/usr/lib/ccache:${PATH}" @@ -960,6 +974,7 @@ jobs: make -C carla EMBED_TARGET=true TESTING=true dist make -C carla EMBED_TARGET=true TESTING=true dist - name: Build win32 cross-compiled (packaging) + if: steps.cache.outputs.cache-hit == 'true' run: | pushd deps/PawPaw; source local.env win32; popd xvfb-run ./utils/create-windows-installer.sh 32 @@ -971,6 +986,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') run: echo "SHA8=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV - name: Pack binaries + if: steps.cache.outputs.cache-hit == 'true' run: | pushd bin zip -r -9 ../${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || env.SHA8 }}.zip $(ls | grep -e lv2 -e vst -e clap) @@ -1037,6 +1053,7 @@ jobs: if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi ./deps/PawPaw/bootstrap-cardinal.sh win64 && ./deps/PawPaw/.cleanup.sh win64 - name: Build win64 cross-compiled (base) + if: steps.cache.outputs.cache-hit == 'true' run: | if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi export PATH="/usr/lib/ccache:${PATH}" @@ -1044,6 +1061,7 @@ jobs: make features make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc) - name: Build win64 cross-compiled (carla) + if: steps.cache.outputs.cache-hit == 'true' run: | if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi export PATH="/usr/lib/ccache:${PATH}" @@ -1052,6 +1070,7 @@ jobs: make -C carla EMBED_TARGET=true TESTING=true dist make -C carla EMBED_TARGET=true TESTING=true dist - name: Build win64 cross-compiled (packaging) + if: steps.cache.outputs.cache-hit == 'true' run: | pushd deps/PawPaw; source local.env win64; popd xvfb-run ./utils/create-windows-installer.sh 64 @@ -1063,6 +1082,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') run: echo "SHA8=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV - name: Pack binaries + if: steps.cache.outputs.cache-hit == 'true' run: | pushd bin zip -r -9 ../${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || env.SHA8 }}.zip $(ls | grep -e lv2 -e vst -e clap)