From 22c78371ebe4daee39b0410942a98e470208c091 Mon Sep 17 00:00:00 2001 From: James Bradbury Date: Mon, 10 Jan 2022 19:57:47 +0000 Subject: [PATCH] Nightly Builds and Continuous Integration (#38) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * build macos supercollider to begin with * build on nightlies * compile all 3 * sloppy indentation * remove ninja for configs * try all the builds * fix indentation and dependency * try packaging * make fully installation * fix bigobj whinging in github * move bigobj down * remove huge pdb files * remove pdb files * build linux on ubuntu 18.04 LTS * only build on dev branch and ci/nightlies branch * parallelise zipping and correct the name * use max cores on mac * use windows-ly way of zipping files * package things into non-nested zips * download to here * max -> supercollider 🤦 * use ninja and make release builds on windows * sudo apt * and Prs * clone the dev branch of supercollider * clone with https * delete the old release before making a new one * remove extraneous comment * Revert "move bigobj down" This reverts commit 5cd4a3532d6a629a071b1210e397f21fe416307f. * Revert "fix bigobj whinging in github" This reverts commit cb172b9c7ec2398ad0fbe6bb9456de91bfee990e. * get core not SC * use proper CMAKE variable for CORE * use DFLUID_PATH not DFLUID_CORE * update tags and remove make * use choco to install ninja * use ninja on windows * update incorrect core link * add working directory * use composite action * correctly point to the composite action * specify toolchain for cmake * use v2 of env flucoma action * use an env variable to call CMAKE * use composite action to build release * remove env * use flucoma actions to do building * use sc not scbuild --- .github/workflows/nightly.yaml | 112 +++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 .github/workflows/nightly.yaml diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml new file mode 100644 index 0000000..1724cb4 --- /dev/null +++ b/.github/workflows/nightly.yaml @@ -0,0 +1,112 @@ +name: Nightly Releases + +on: + push: + branches: [ dev, ci/nightlies ] + pull_request: + branches: [ dev ] + +jobs: + macbuild: + runs-on: macos-11 + + steps: + - uses: actions/checkout@v2 + + - name: setup environment + uses: flucoma/actions/env@v2 + + - name: build toolkit + uses: flucoma/actions/sc@v2 + + - name: zip release + run: zip -r ../FluCoMa-SC-Mac-nightly.zip FluidCorpusManipulation + working-directory: install + + - uses: actions/upload-artifact@v2 + with: + name: macbuild + path: FluCoMa-SC-Mac-nightly.zip + + winbuild: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + + - name: setup environment + uses: flucoma/actions/env@v2 + + - name: build toolkit + uses: flucoma/actions/sc@v2 + + - name: remove pdb files + run: Remove-Item install -Recurse -Include *.pdb + + - name: zip release + run: Compress-Archive install/FluidCorpusManipulation FluCoMa-SC-Windows-nightly.zip + + - uses: actions/upload-artifact@v2 + with: + name: winbuild + path: FluCoMa-SC-Windows-nightly.zip + + linuxbuild: + runs-on: ubuntu-18.04 + + steps: + - uses: actions/checkout@v2 + + - name: setup environment + uses: flucoma/actions/env@v2 + + - name: build toolkit + uses: flucoma/actions/sc@v2 + + - name: zip release + run: zip -r ../FluCoMa-SC-Linux-nightly.zip FluidCorpusManipulation + working-directory: install + + - uses: actions/upload-artifact@v2 + with: + name: linuxbuild + path: FluCoMa-SC-Linux-nightly.zip + + release: + runs-on: ubuntu-latest + needs: [macbuild, winbuild, linuxbuild] + + steps: + - uses: actions/download-artifact@v2 + with: + name: macbuild + path: . + + - uses: actions/download-artifact@v2 + with: + name: winbuild + path: . + + - uses: actions/download-artifact@v2 + with: + name: linuxbuild + path: . + + - uses: dev-drprasad/delete-tag-and-release@v0.2.0 + with: + delete_release: true # default: false + tag_name: 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 SuperCollider Nightly Build + prerelease: true + body: "This is a nightly build of the FluCoMa SuperCollider 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-SC-*.zip + file_glob: true + tag: nightly + overwrite: true