www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Building for multiple platforms

reply Neils <feketecsaba gmail.com> writes:
I maintain an open-source project written in D and I use DUB for 
building and my compiler backend is DMD. My dub.json file is 
rather simple: 
https://github.com/neilsf/XC-BASIC/blob/master/dub.json

I offer pre-built binaries for Linux x86, Linux x86_64, Windows 
and Mac OS.

I'm only doing this for a year so I am still quite a beginner in 
D and my workflow is the following when building the project:

1. Launch a VM using VirtualBox
2. dub build
3. Repeat for each platforms

The above is a painfully slow process. Is there any way to make 
it simpler and faster?

Any suggestions are warmly appreciated.
Feb 12 2020
parent reply Petar Kirov [ZombineDev] <petar.p.kirov gmail.com> writes:
On Wednesday, 12 February 2020 at 08:41:25 UTC, Neils wrote:
 I maintain an open-source project written in D and I use DUB 
 for building and my compiler backend is DMD. My dub.json file 
 is rather simple: 
 https://github.com/neilsf/XC-BASIC/blob/master/dub.json

 I offer pre-built binaries for Linux x86, Linux x86_64, Windows 
 and Mac OS.

 I'm only doing this for a year so I am still quite a beginner 
 in D and my workflow is the following when building the project:

 1. Launch a VM using VirtualBox
 2. dub build
 3. Repeat for each platforms

 The above is a painfully slow process. Is there any way to make 
 it simpler and faster?

 Any suggestions are warmly appreciated.
Since your project is already on GitHub, I think the easiest solution would be to use GitHub Actions [1] + setup-dlang action [2] + upload-release-asset action [3] to automate the whole process. [1]: https://help.github.com/en/actions [2]: https://github.com/mihails-strasuns/setup-dlang [3]: https://github.com/actions/upload-release-asset
Feb 12 2020
next sibling parent Petar Kirov [ZombineDev] <petar.p.kirov gmail.com> writes:
On Wednesday, 12 February 2020 at 12:46:23 UTC, Petar Kirov 
[ZombineDev] wrote:
 On Wednesday, 12 February 2020 at 08:41:25 UTC, Neils wrote:
 [...]
Since your project is already on GitHub, I think the easiest solution would be to use GitHub Actions [1] + setup-dlang action [2] + upload-release-asset action [3] to automate the whole process. [1]: https://help.github.com/en/actions [2]: https://github.com/mihails-strasuns/setup-dlang [3]: https://github.com/actions/upload-release-asset
P.S. Your project looks quite interesting! Best of luck!
Feb 12 2020
prev sibling parent Neils <feketecsaba gmail.com> writes:
 Since your project is already on GitHub, I think the easiest 
 solution would be to use GitHub Actions [1] + setup-dlang 
 action [2] + upload-release-asset action [3]  to automate the 
 whole process.

 [1]: https://help.github.com/en/actions
 [2]: https://github.com/mihails-strasuns/setup-dlang
 [3]: https://github.com/actions/upload-release-asset
This looks very promising, thanks!
Feb 14 2020