diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..e2ccfbd --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +github: Wasted-Audio +patreon: WastedAudio diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..265ed94 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,171 @@ +name: build + +on: + push: + +env: + HVCC_VERSION: 424308377a8b0e4291e0bfda3bcf68ae9fd88f33 + +jobs: + linux-x86_64: + runs-on: ubuntu-20.04 + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3.9 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install git+https://github.com/Wasted-Audio/hvcc.git@${{ env.HVCC_VERSION }} + sudo apt-get update -qq + sudo apt-get install -yqq libgl1-mesa-dev + + - name: Build plugins + run: | + hvcc wstd_fldr.pd -n WSTD_FLDR -m wstd_fldr.json -o WSTD_FLDR -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later" + cp override/* WSTD_FLDR/plugin/source/ + make -C WSTD_FLDR WITH_LTO=true -j $(nproc) + + - name: Set sha8 (non-release) + if: startsWith(github.ref, 'refs/tags/') != true + id: slug1 + run: echo "action_tag=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV + - name: Set tag (release) + if: startsWith(github.ref, 'refs/tags/') + id: slug2 + run: echo "action_tag=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV + + - name: Pack binaries + run: | + cd WSTD_FLDR + mv bin WSTD_FLDR + tar -c -h -z -f ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || env.action_tag }}.tar.gz WSTD_FLDR/ + - uses: actions/upload-artifact@v3 + with: + name: ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || env.action_tag }} + path: | + WSTD_FLDR/*.tar.gz + - uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + tag_name: ${{ github.ref_name }} + name: ${{ github.ref_name }} + draft: false + prerelease: false + files: | + WSTD_FLDR/*.tar.gz + + win64: + runs-on: ubuntu-20.04 + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3.9 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install git+https://github.com/Wasted-Audio/hvcc.git@${{ env.HVCC_VERSION }} + sudo apt-get update -qq + sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable + + - name: Build win64 cross-compiled plugins + env: + CC: x86_64-w64-mingw32-gcc + CXX: x86_64-w64-mingw32-g++ + EXE_WRAPPER: wine + PKG_CONFIG: "false" + WINEDEBUG: "-all" + run: | + hvcc wstd_fldr.pd -n WSTD_FLDR -m wstd_fldr.json -o WSTD_FLDR -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later" + cp override/* WSTD_FLDR/plugin/source/ + make -C WSTD_FLDR WITH_LTO=true -j $(nproc) + + - name: Set sha8 (non-release) + if: startsWith(github.ref, 'refs/tags/') != true + id: slug1 + run: echo "action_tag=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV + - name: Set tag (release) + if: startsWith(github.ref, 'refs/tags/') + id: slug2 + run: echo "action_tag=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV + - name: Pack binaries + run: | + cd WSTD_FLDR + mv bin WSTD_FLDR + tar -c -h -z -f ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || env.action_tag }}.tar.gz WSTD_FLDR/ + - uses: actions/upload-artifact@v3 + with: + name: ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || env.action_tag }} + path: | + WSTD_FLDR/*.tar.gz + - uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + tag_name: ${{ github.ref_name }} + name: ${{ github.ref_name }} + draft: false + prerelease: false + files: | + WSTD_FLDR/*.tar.gz + + macos-universal: + runs-on: macos-11 + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3.9 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install git+https://github.com/Wasted-Audio/hvcc.git@${{ env.HVCC_VERSION }} + + - name: Build macOS universal plugins + env: + CFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2 + CXXFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2 + LDFLAGS: -arch x86_64 -arch arm64 -mmacosx-version-min=10.12 + run: | + hvcc wstd_fldr.pd -n WSTD_FLDR -m wstd_fldr.json -o WSTD_FLDR -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later" + cp override/* WSTD_FLDR/plugin/source/ + make -C WSTD_FLDR NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu) + cd WSTD_FLDR + ../dep/dpf/utils/package-osx-bundles.sh + + - name: Set sha8 (non-release) + if: startsWith(github.ref, 'refs/tags/') != true + id: slug1 + run: echo "action_tag=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV + - name: Set tag (release) + if: startsWith(github.ref, 'refs/tags/') + id: slug2 + run: echo "action_tag=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV + + - uses: actions/upload-artifact@v3 + with: + name: ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || env.action_tag }} + path: | + WSTD_FLDR/*-macOS.pkg + + - uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + tag_name: ${{ github.ref_name }} + name: ${{ github.ref_name }} + draft: false + prerelease: false + files: | + WSTD_FLDR/*-macOS.pkg