-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Binary releases for tools #9
Comments
I started an experiment with D-Scanner a while ago and it looks like using Travis's GH release feature works quite well: See also: dlang-community/D-Scanner#539 Of course the next interesting steps would be
|
The build.bat need to be fixed for a few of the repos. There's no way to specify which target to build x86/x64, dmd defaults to 32-bit and ldc2 defaults to the host arch. So the bat file always creates the same binary for each config, on appveyor. It'd be nice to have a |
One step further: Linux/OSX binaries uploaded to GH release:
Would be cool if we can do something similar for AppVeyor too.
Yep. It's an open feature request for quite a while: dlang/dub#839 (and has a lot of up votes) Anyhow the best we get for now is:
and with dlang/dub#1082 that could be just |
If building things under Windows is such a pain, we could try to use Wine - for example for D-Scanner:
The automated version is a bit longer:
Here's the binary built in Wine: Would that work for everyone? We might be able to adapt that to Windows. |
For Linux I think we should build completely statically linked binaries, |
I agree that
OK. Testing here -> dlang-community/D-Scanner#598 |
This Linux binary https://github.com/jacob-carlborg/remarkify/releases/tag/v0.0.1 is built using Travis CI and fully statically linked. Running |
OK looks like this is host-dependent then. FYI: I gave it a try in dlang-community/D-Scanner#598 then ;-) |
While it's debatable whether dfmt etc. should be shipped by default with the D installer, it might be worthwhile to provide binary releases for people (especially for Windows).
A couple of ideas:
One bundle per platform
Probably one bundled release archive for each platform is enough (people interested in only one tool should be capable of compiling it themselves, using dub or maybe even a distro package one day)
Advertise the use of DUB
DUB already simplifies the process and at some point
dub run dfmt
might be merged (it will automatically fetchdfmt
if it isn't available before running). However, if I look the the repos the use of DUB isn't documented at all. So that's something moderately easy that can be done.Automatically create Linux binaries with Travis
We could improve the Travis CI pipeline (or use a different CI), s.t. on each commit to master all tools are bundled and uploaded to S3 (or similar)
Automatically create Windows binaries with AppVeyor
We could add appveyor to automatically create these bundles for Windows (example)
Common release version for "official" releases
Defining a common release version for "official" releases might be tricky, but we could try to synchronize the releases with the DLang releases or release a bundled release every one/two months
The text was updated successfully, but these errors were encountered: