Skip to content

Commit 5dbca51

Browse files
James Bradburyjamesb93weefuzzy
authored
ci/automatic building (flucoma#29)
* 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>
1 parent 9070d16 commit 5dbca51

1 file changed

Lines changed: 159 additions & 0 deletions

File tree

.github/workflows/nightly.yaml

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
name: Nightly Releases
2+
3+
on:
4+
push:
5+
branches: [ dev, ci/automatic-building ]
6+
pull_request:
7+
branches: [ dev ]
8+
9+
jobs:
10+
docs:
11+
runs-on: macos-11
12+
steps:
13+
- uses: actions/checkout@v2
14+
15+
- name: install ninja
16+
run: brew install ninja
17+
18+
- name: get max sdk
19+
run: git clone --recursive https://github.com/Cycling74/max-sdk.git sdk
20+
21+
- name: install python dependencies
22+
run: pip3 install pyyaml docutils jinja2
23+
24+
- name: make build directory
25+
run: mkdir -p build
26+
27+
- name: create externals folder
28+
run: mkdir -p externals
29+
30+
- name: clone latest flucoma-core
31+
run: git clone --branch fix/blas-compilation-settings https://github.com/jamesb93/flucoma-core.git core
32+
33+
- name: cmake
34+
run: cmake -GNinja -DDOCS=ON -DFLUID_PATH=../core -DMAX_SDK_PATH=../sdk/ ..
35+
working-directory: build
36+
37+
- name: install
38+
run: ninja MAKE_MAX_REF
39+
working-directory: build
40+
41+
- uses: actions/upload-artifact@v2
42+
with:
43+
name: docsbuild
44+
path: build/max_ref
45+
46+
winbuild:
47+
runs-on: windows-latest
48+
49+
steps:
50+
- uses: actions/checkout@v2
51+
52+
- name: get max sdk
53+
run: git clone --recursive https://github.com/Cycling74/max-sdk.git sdk
54+
55+
- name: make build directory
56+
run: mkdir -p build
57+
58+
- name: clone latest flucoma-core
59+
run: git clone --branch fix/blas-compilation-settings https://github.com/jamesb93/flucoma-core.git core
60+
61+
- name: cmake
62+
run: cmake -DFLUID_PATH="../core" -DMAX_SDK_PATH="../sdk/" ..
63+
working-directory: build
64+
65+
- name: build binaries
66+
run: cmake --build . --target install --config Release
67+
working-directory: build
68+
69+
- name: see
70+
run: ls
71+
working-directory: "release-packaging/Fluid Corpus Manipulation/"
72+
73+
- uses: actions/upload-artifact@v2
74+
with:
75+
name: winbuild
76+
path: "release-packaging/Fluid Corpus Manipulation/externals/"
77+
78+
macbuild:
79+
runs-on: macos-11
80+
81+
steps:
82+
- uses: actions/checkout@v2
83+
84+
- name: install ninja
85+
run: brew install ninja
86+
87+
- name: get max sdk
88+
run: git clone --recursive https://github.com/Cycling74/max-sdk.git sdk
89+
90+
- name: make build directory
91+
run: mkdir -p build
92+
93+
- name: create externals folder
94+
run: mkdir -p externals
95+
96+
- name: clone latest flucoma-core
97+
run: git clone --branch fix/blas-compilation-settings https://github.com/jamesb93/flucoma-core.git core
98+
99+
- name: cmake
100+
run: cmake -GNinja -DFLUID_PATH=../core -DMAX_SDK_PATH=../sdk/ -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" ..
101+
working-directory: build
102+
103+
- name: install
104+
run: ninja install
105+
working-directory: build
106+
107+
- uses: actions/upload-artifact@v2
108+
with:
109+
name: macbuild
110+
path: release-packaging/Fluid\ Corpus\ Manipulation/
111+
112+
release:
113+
runs-on: ubuntu-latest
114+
needs: [winbuild, macbuild, docs]
115+
116+
steps:
117+
- name: make parent folder
118+
run : mkdir -p "Fluid Corpus Manipulation"
119+
120+
- uses: actions/download-artifact@v2
121+
with:
122+
name: macbuild
123+
path: "Fluid Corpus Manipulation"
124+
125+
- uses: actions/download-artifact@v2
126+
with:
127+
name: winbuild
128+
path: "Fluid Corpus Manipulation/externals"
129+
130+
- uses: actions/download-artifact@v2
131+
with:
132+
name: docsbuild
133+
path: "Fluid Corpus Manipulation/docs"
134+
135+
- name: zip
136+
run: zip -r FluCoMa-Max-nightly.zip "Fluid Corpus Manipulation"
137+
138+
- name: see
139+
run: ls
140+
141+
- uses: dev-drprasad/delete-tag-and-release@v0.2.0
142+
with:
143+
delete_release: true # default: false
144+
tag_name: 1.0.0-nightly # tag name to delete
145+
env:
146+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
147+
148+
- name: package and upload
149+
uses: svenstaro/upload-release-action@v2
150+
with:
151+
release_name: FluCoMa Max Nightly Build
152+
prerelease: true
153+
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 }}"
154+
repo_token: ${{ secrets.GITHUB_TOKEN }}
155+
file: FluCoMa-Max-nightly.zip
156+
asset_name: FluCoMa-Max-nightly.zip
157+
tag: 1.0.0-nightly
158+
overwrite: true
159+

0 commit comments

Comments
 (0)