Thread overview
Building for multiple platforms
Feb 12, 2020
Neils
Feb 15, 2020
Neils
February 12, 2020
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.
February 12, 2020
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
February 12, 2020
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!
February 15, 2020
> 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!