Skip to content

Commit

Permalink
ci/automatic building (flucoma#29)
Browse files Browse the repository at this point in the history
* incorporate Ted's changes and recommendations

Revert "fix pre/post cmake"

This reverts commit 7d04ffb.

Create does-it-build.yml

does it build?

consume SDK

curl the 8.0.3 SDK

add a ls stage for sanity

remove cmake flags for OSX architectures

move list cmd

add working directories for steps that urn in build

use macos as runner

use ninja for build process

add specific name for build

will write a text file named foo to the home directory

see if we can headless max patchers

also build on the ci branch

Buf2List: tidy up and add a 'buffer' message for immediate processing

Revert "fat binaries"

This reverts commit 35ef645.

Revert "build script"

This reverts commit 1ee3f5a.

# Conflicts:
#	create.sh

Initialize dumpDictionary pointer in MaxWrapper explicitly, as this is assumed in destructor

removed dangling script naming to buf2list

corrected buf2list use in mlpclass

corrected interface of mds to make it more interactive

updated buf2list2buf helpfiles with doc

dial back automatic patch testing in workflow

* Adjust cmake to handle changes to Max SDK from 8.2 onwards (flucoma#32)

* Adjust cmake to handle changes to Max SDK from 8.2 onwards

* correct typo

* Update macos-build-test.yml

use the latest sdk from github

* you actually have to git clone...

* only build ampslice for now

* test releasing

* make names + commits

* give a proper asset name

* use ref for tag

* Update macos-build-test.yml

* spell prerelease properly

* change convention for naming n stuff

* Update macos-build-test.yml

* add windows-build script

* quotes around path for windows

* test a composite workflow

* update composite

* make a nightly action

* now check to see if we can build and see an external

* update infrastructure

* check with cached outputs too

* pre check in the right place

* dont check a non-existant file

* remove nightly cache workflow

* build and combine

* remove bad line

* do some sanity checks for cleaning

* inspect what is going on

* cleanup ls -R and change to latest macos

* see if we can copy the entire externals folder

* check

* now build fat and see

* remove mistake space

* get uname

* get clang version

* get system info

* try some silicon black magic

* use custom core

* use https

* check if core is there

* core is only one folder up

* make a release again

* make externals early

* 🩴 :burger:

* pass DCMAKE_APPLE flag

* full install of max

* make release builds on windows

* remove pdbs from release-packaging

* dont remove pdb files

* fix paths because they have spaces 👿

* try and deal with the hell that is windows

* now release it!

* try again

* only build on dev and ci branches

* now with DDOCS=ON

* ddocs off

* provide a more detailed tag for nightly builds

* also make docs

* use blas compilation branch (temporarily)

* fix malformed paths

* missing -D

* take max_ref and merge with final compile

* delete nightly before remaking it

* delete extraneous experimental patch

Co-authored-by: James Bradbury <jamesbradbury93@gmail.com>
Co-authored-by: weefuzzy <gungwho@gmail.com>
  • Loading branch information
3 people authored and James Bradbury committed Nov 28, 2021
1 parent e7afb68 commit 8c28c5a
Showing 1 changed file with 159 additions and 0 deletions.
159 changes: 159 additions & 0 deletions .github/workflows/nightly.yaml
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 8c28c5a

Please sign in to comment.