[Csnd-dev] CI for MacOS deployment
Date | 2021-07-14 10:42 |
From | Victor Lazzarini |
Subject | [Csnd-dev] CI for MacOS deployment |
Hi everyone, it would be useful if we could set up a CI for MacOS deployment as we do with Windows. At the moment we have it building on Travis just to catch build issues, but it would be good to have it somewhere running with the install script. Does anyone know where/how we could do it? The install script should do most of the job, the main thing to do is to get the dependencies (which have now been reduced to a few) from somewhere and adjust the script to copy and install them. ======================== Prof. Victor Lazzarini Maynooth University Ireland |
Date | 2021-07-14 10:54 |
From | Rory Walsh |
Subject | Re: [Csnd-dev] CI for MacOS deployment |
https://github.com/csound/csound/blob/develop/installer/macosx/release-build-azure.sh This is the script I was using to automate builds on my Azure account. But I think it might be time to consolidate all builds into one system. I use Azure to produce beta Cabbage builds for Mac, Windows and Linux. I think Github actions also allows cross platform builds. Github is now owned by MS right? I wonder what the main differences are. I have some experience with Azure DevOps. I think if I can automate a Windows build there we might be able to move from AppVeyor. I'm happy to give it some time. But I think we need to decide if Azure DevOps is an appropriate platform. On Wed, 14 Jul 2021 at 10:42, Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote: Hi everyone, |
Date | 2021-07-14 11:02 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
Thanks. Is this script currently producing an installer package? Can we try deploying it from Azure as we do with Appveyor? I don’t mind for the moment using different CI providers, we can try to consolidate later. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 14 Jul 2021, at 10:54, Rory Walsh |
Date | 2021-07-14 12:15 |
From | Rory Walsh |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
It produces a barebones package on my own Azure account. I think Steven might have set up an Azure account for the Csound project? On Wed, 14 Jul 2021 at 11:02, Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote: Thanks. Is this script currently producing an installer package? Can we try deploying it from Azure as we do with Appveyor? |
Date | 2021-07-14 13:22 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
Not sure. Do you know how to link github to azure? We can try setting up an account and doing the same as you're doing.
Prof. Victor Lazzarini
Maynooth University
Ireland
On Jul 14, 2021, at 12:16 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
|
Date | 2021-07-14 14:43 |
From | Rory Walsh |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
It's simple to link to a repo when building with Azure. If I was to create an automated build for Mac on Azure users would just have to visit the Azure project page to download the installer as they currently do with the AppVeyor builds. This would be fine I guess. On Wed, 14 Jul 2021 at 13:23, Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote:
|
Date | 2021-07-14 15:13 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
With github actions it is possible to post the artifacts as a pre-release in github directly. Then doing a release only needs to rename the release in github. Here is an example: https://github.com/csound-plugins/csound-plugins/blob/master/.github/workflows/build.yml The downside of github actions is their windows support!. In
azure vcpkg works quite good, in github actions it is a nightmare
to set it right (with caching in order to avoid incredibly long
build times / timeouts). On 14.07.21 15:43, Rory Walsh wrote:
|
Date | 2021-07-14 17:25 |
From | Rory Walsh |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
Thanks for this example Eduardo. I look at using github actions myself in the future. But it's hard to change from one build system when it's working so well. I guess for now I can just look at setting up a MacOS build on Azure. It's really only for testing purposes I guess. On Wed, 14 Jul 2021 at 15:13, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
Date | 2021-07-14 17:38 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
We can do that as a second step. First get CI artefacts for MacOS in azure, then see about github actions. Prof. Victor Lazzarini
Maynooth University
Ireland
On Jul 14, 2021, at 3:13 PM, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
Date | 2021-07-14 22:11 |
From | Steven Yi |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
I'm a fan of github actions in general and use it with Blue, but the build is pretty straightforward for that vs. Csound. I did create an Azure project for Csound and can give access to that or transfer it to Rory or anyone else. The one thing that might be a concern is whether Azure Devops will be usable long-term (is it being retired for Github/Github Actions?) On Wed, Jul 14, 2021 at 10:13 AM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
Date | 2021-07-15 11:56 |
From | Rory Walsh |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
It seems that the drawback of using github actions is vcpkg support, but I guess for now we have the appveyor build for Windows. Steven, are you actually using the Azure build stuff yourself. If so, then I guess we can continue to use that, if not, maybe we should just use github actions for the Mac build? I have never used GH actions, but I don't mind taking a look. On Wed, 14 Jul 2021 at 22:11, Steven Yi <stevenyi@gmail.com> wrote:
|
Date | 2021-07-17 17:50 |
From | Steven Yi |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
Hi Rory, I'm not using Azure build currently. I setup a github action build for Mac just now and it seems to build/run/test. It's using homebrew installed dependencies however which is good for testing but not good for automating an installer builder. I'll have to leave it here for now but if someone can look at redoing the lib building to use static lib compilation (either using our dependency scripts or using vcpkg) that'd be great. The trick is that we should probably be doing universal builds now. Thanks! Steven On Thu, Jul 15, 2021 at 6:56 AM Rory Walsh <rorywalsh@ear.ie> wrote:
|
Date | 2021-07-17 18:03 |
From | Rory Walsh |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
That's great Steven. I was having issues getting it set up, so you saved me some pain! On Sat 17 Jul 2021, 5:51 p.m. Steven Yi, <stevenyi@gmail.com> wrote:
|
Date | 2021-07-17 18:19 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
The installer script copies and adjusts all dependencies. Would that not work with homebrew built libs?
Prof. Victor Lazzarini
Maynooth University
Ireland
On Jul 17, 2021, at 5:51 PM, Steven Yi <stevenyi@gmail.com> wrote:
|
Date | 2021-07-17 18:31 |
From | Steven Yi |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
I haven't looked at the installer/macos/release-build.sh script in ages but just looked; I imagine we could do something like this for homebrew libs, it'd just be a little bit of a pain to go through and get that done for dependencies, but it'd be a big win if it worked as homebrew is just a lot easier to depend upon than custom compiled libs. On Sat, Jul 17, 2021 at 1:19 PM Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote:
|
Date | 2021-07-17 19:28 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
My 2c - HomeBrew has been a dream come true for me (and my students). It has allowed me to collaborate with John ffitch on a weekly basis in a way and at a level that I have not been able to for the past 30+ years. Thanks to Steven and others for making HomeBrew for the Mac possible. Dr. Richard Boulanger Professor Electronic Production and Design Berklee College of Music On Jul 17, 2021, at 1:31 PM, Steven Yi <stevenyi@gmail.com> wrote:
|
Date | 2021-07-17 20:38 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
Where do the dylibs from homebrew end up installed? I would think it should be as simple as editing the locations in the script, editing the manual copy (wget perhaps?). Incidentally in your brew list I saw this brew install cmake swig eigen asio ... asio? I've never seen that on a mac. I thought it was a windows thing. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 17 Jul 2021, at 18:31, Steven Yi |
Date | 2021-07-17 21:34 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
Don't know if this is helpful but: Csound: Homebrew - Brewed Csound on my M1 MacBook /opt/homebrew/Cellar/csound/HEAD*/bin/csound Csound: Homebrew - Brewed Csound on my Intel Catalina MacBook Pro? /usr/local/Cellar/csound/HEAD*/bin/csound - dB Dr. Richard Boulanger Professor Electronic Production and Design Berklee College of Music Professional Writing & Technology Division On Sat, Jul 17, 2021 at 3:39 PM Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote: Where do the dylibs from homebrew end up installed? I would think it should be as simple as editing the locations in the script, |
Date | 2021-07-17 21:46 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
thanks ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 17 Jul 2021, at 21:34, Dr. Richard Boulanger |
Date | 2021-07-17 21:47 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
on Intel - Catalina MacOS 10.15.7 /usr/local/Cellar/csound/HEAD-3ef346a/lib is were one finds the brewed libcsnd6.dylib and libcsnd6.6.0.dylib and /usr/local/Cellar/csound/HEAD-3ef346a/Frameworks/CsoundLib64.framework/Resources/Opcodes64 - dB Dr. Richard Boulanger Professor Electronic Production and Design Berklee College of Music Professional Writing & Technology Division On Sat, Jul 17, 2021 at 4:34 PM Dr. Richard Boulanger <rboulanger@berklee.edu> wrote:
|
Date | 2021-07-17 21:49 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
what about libsndfile? Is that in /usr/local/lib ? ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 17 Jul 2021, at 21:47, Dr. Richard Boulanger |
Date | 2021-07-17 21:49 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
or here - not sure which it actually uses - perhaps this one /usr/local/Cellar/csound/HEAD-3ef346a/Frameworks/CsoundLib64.framework/Versions/Current/Resources/Opcodes64 - dB Dr. Richard Boulanger Professor Electronic Production and Design Berklee College of Music Professional Writing & Technology Division On Sat, Jul 17, 2021 at 4:47 PM Dr. Richard Boulanger <rboulanger@berklee.edu> wrote:
|
Date | 2021-07-17 21:53 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
when Is -al in /usr/local/lib I see the following (I think that these a symlinks to the Cellar) lrwxr-xr-x 1 rboulanger admin 50 Jan 25 14:52 libsndfile.1.dylib -> ../Cellar/libsndfile/1.0.31/lib/libsndfile.1.dylib lrwxr-xr-x 1 rboulanger admin 44 Jan 25 14:52 libsndfile.a -> ../Cellar/libsndfile/1.0.31/lib/libsndfile.a lrwxr-xr-x 1 rboulanger admin 48 Jan 25 14:52 libsndfile.dylib -> ../Cellar/libsndfile/1.0.31/lib/libsndfile.dylib - dB Dr. Richard Boulanger Professor Electronic Production and Design Berklee College of Music Professional Writing & Technology Division On Sat, Jul 17, 2021 at 4:49 PM Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote: what about libsndfile? Is that in /usr/local/lib ? |
Date | 2021-07-17 21:57 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
Ok, that gives me a good idea. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 17 Jul 2021, at 21:53, Dr. Richard Boulanger |
Date | 2021-07-17 22:16 |
From | Steven Yi |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
The dylibs depend on where homebrew is installed (was a different location here on Big Sur than where it was before on earlier macos). For the brew list I did it quickly based on what was specified for the homebrew version of Csound: Probably can get rid of asio and other things. On Sat, Jul 17, 2021 at 3:39 PM Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote: Where do the dylibs from homebrew end up installed? I would think it should be as simple as editing the locations in the script, |
Date | 2021-07-17 22:34 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
For Homebrew I see there are symlinks in /usr/local/lib so these can be used to copy the libraries. The difficult part is editing the symlinks built into the CsoundLib etc. If these point to /usr/local/lib (the location of the library symlinks), then it should be easy, but if they point to /usr/local/cellar or whatever variable location, then that’s complicated and probably unworkable because we need to know these in order to edit them. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 17 Jul 2021, at 22:16, Steven Yi |
Date | 2021-07-17 22:43 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
They might be there because at one point some time ago, I was asked to brew and install libsndfile. It might be an older version still lying around? Brew always tells me when things are not linked and asks if I want to simlink things I was say yes Dr. Richard Boulanger Professor Electronic Production and Design Berklee College of Music > On Jul 17, 2021, at 5:35 PM, Victor Lazzarini |
Date | 2021-07-17 23:11 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] CI for MacOS deployment |
No, the symlinks are pointing to the homebrew installation. If this was a normal libsndfile installation, they would not be doing that. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 17 Jul 2021, at 22:43, Dr. Richard Boulanger |