diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml new file mode 100644 index 00000000..e1e4eed7 --- /dev/null +++ b/.github/workflows/nightly.yaml @@ -0,0 +1,159 @@ +name: Nightly Releases + +on: + push: + branches: [ dev, ci/automatic-building ] + pull_request: + branches: [ dev ] + +jobs: + docs: + runs-on: macos-11 + steps: + - uses: actions/checkout@v2 + + - name: install ninja + run: brew install ninja + + - name: get max sdk + run: git clone --recursive https://github.com/Cycling74/max-sdk.git sdk + + - name: install python dependencies + run: pip3 install pyyaml docutils jinja2 + + - name: make build directory + run: mkdir -p build + + - name: create externals folder + run: mkdir -p externals + + - name: clone latest flucoma-core + run: git clone --branch fix/blas-compilation-settings https://github.com/jamesb93/flucoma-core.git core + + - name: cmake + run: cmake -GNinja -DDOCS=ON -DFLUID_PATH=../core -DMAX_SDK_PATH=../sdk/ .. + working-directory: build + + - name: install + run: ninja MAKE_MAX_REF + working-directory: build + + - uses: actions/upload-artifact@v2 + with: + name: docsbuild + path: build/max_ref + + winbuild: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + + - name: get max sdk + run: git clone --recursive https://github.com/Cycling74/max-sdk.git sdk + + - name: make build directory + run: mkdir -p build + + - name: clone latest flucoma-core + run: git clone --branch fix/blas-compilation-settings https://github.com/jamesb93/flucoma-core.git core + + - name: cmake + run: cmake -DFLUID_PATH="../core" -DMAX_SDK_PATH="../sdk/" .. + working-directory: build + + - name: build binaries + run: cmake --build . --target install --config Release + working-directory: build + + - name: see + run: ls + working-directory: "release-packaging/Fluid Corpus Manipulation/" + + - uses: actions/upload-artifact@v2 + with: + name: winbuild + path: "release-packaging/Fluid Corpus Manipulation/externals/" + + macbuild: + runs-on: macos-11 + + steps: + - uses: actions/checkout@v2 + + - name: install ninja + run: brew install ninja + + - name: get max sdk + run: git clone --recursive https://github.com/Cycling74/max-sdk.git sdk + + - name: make build directory + run: mkdir -p build + + - name: create externals folder + run: mkdir -p externals + + - name: clone latest flucoma-core + run: git clone --branch fix/blas-compilation-settings https://github.com/jamesb93/flucoma-core.git core + + - name: cmake + run: cmake -GNinja -DFLUID_PATH=../core -DMAX_SDK_PATH=../sdk/ -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" .. + working-directory: build + + - name: install + run: ninja install + working-directory: build + + - uses: actions/upload-artifact@v2 + with: + name: macbuild + path: release-packaging/Fluid\ Corpus\ Manipulation/ + + release: + runs-on: ubuntu-latest + needs: [winbuild, macbuild, docs] + + steps: + - name: make parent folder + run : mkdir -p "Fluid Corpus Manipulation" + + - uses: actions/download-artifact@v2 + with: + name: macbuild + path: "Fluid Corpus Manipulation" + + - uses: actions/download-artifact@v2 + with: + name: winbuild + path: "Fluid Corpus Manipulation/externals" + + - uses: actions/download-artifact@v2 + with: + name: docsbuild + path: "Fluid Corpus Manipulation/docs" + + - name: zip + run: zip -r FluCoMa-Max-nightly.zip "Fluid Corpus Manipulation" + + - name: see + run: ls + + - uses: dev-drprasad/delete-tag-and-release@v0.2.0 + with: + delete_release: true # default: false + tag_name: 1.0.0-nightly # tag name to delete + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: package and upload + uses: svenstaro/upload-release-action@v2 + with: + release_name: FluCoMa Max Nightly Build + prerelease: true + body: "This is a nightly build of the FluCoMa Max package. As such, be warned there may be bugs or other unexpected behaviour. The build hash is ${{ github.sha }}" + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: FluCoMa-Max-nightly.zip + asset_name: FluCoMa-Max-nightly.zip + tag: 1.0.0-nightly + overwrite: true +