Hi Folks
———————-
An edit at the top of the thread on updates since I wrote this first post
Azure pipelines setup as described here can build your plugin on all three platforms and upload a working zip to a github release automatically on every push to master; as well as building all your pull requests before you merge them.
The directions in this thread are complete but the short version is:
-
Basically you need to invite the azure pipeline into your repo (as documented https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/github?view=azure-devops) and then have a command to build plugins.
-
Add an ‘azure-pipelines.yml’ script which runs commands. https://github.com/baconpaul/BaconPlugs/blob/master/azure-pipelines.yml Is a good starting point
-
If you use that one directly, copy the few supporting scripts from BaconPlugs and edit them accordingly (and if you are on windows note the information on chmod a script at check in below)
-
Add a “nightly” release with no contents which will be the target for the upload
-
Push to master; resolve errors
Others have found this takes 1-2 hours from scratch, and then just kinda works from there on out.
Hope this helps
————————
I just wanted to share something that might be useful - and sorry if it has already been covered.
Over at the https://github.com/surge-synthesizer/surge Surge Synth open source project we’ve had great success using Azure Pipelines to do builds on pull requests and stuff. Microsoft makes Azure pools for linux, mac, and windows available to free for open source projects.
Basically you need to invite the azure pipeline into your repo (as documented https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/github?view=azure-devops) and then have a command to build plugins.
The azure-pipelines.yml file in BaconPlugs (https://github.com/baconpaul/BaconPlugs/blob/master/azure-pipelines.yml) is set up so that my commits trigger a build which does an automatic clean build against a fresh copy of the Rack SDK on mac, linux, and windows. It even makes the mac and linux zip available! (The pipeline machine doesn’t seem to have zip in its path on windows and I didn’t debug that yet).
I thought this might be useful to other folks if you want auto builds on your commits. Again on the Surge project we’ve found that handy. Of course, feel free to just copy that pipeline file. It only has a couple of things which are specific to my plugs (the trigger is on my candidate and release branch names as well as master; and the asset names contain BaconPlug names).
I haven’t done any thinking about how to build against 1.0 or anything like that. Just wanted to get my plugins building again and figured I would add the auto build.
Sorry if this isn’t the sort of thing to share here or if it is covered elsewhere. Hope it is useful.
Best
Paul