Skip to content
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

Deploy binaries to GitHub releases (Windows/Linux/MacOS) #348

Merged
merged 1 commit into from
Apr 23, 2018

Conversation

wilzbach
Copy link
Member

Basically a copy of dlang-community/D-Scanner#573 which itself is a copy of dlang/dub#1369

(I already configured the environment variables GH_REPO_TOKEN on Travis - it's a bot account and the same we already use for e.g. deploying libdparse's documentation)

Copy link
Collaborator

@Hackerpilot Hackerpilot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that the .tar.tgz that was attached to the v0.5.0 release of D-Scanner has some issues. I had to manually chmod +x it, and then when I tried to run the executable I got ./dscanner: error while loading shared libraries: libphobos2-ldc-shared.so.78: cannot open shared object file: No such file or directory So it seems that we need to statically link Phobos when making the release executables.

@wilzbach
Copy link
Member Author

wilzbach commented Apr 3, 2018

It seems that the .tar.tgz that was attached to the v0.5.0 release of D-Scanner has some issues. I had to manually chmod +x it,

That's weird. I didn't had to do this (and can't reproduce this).

So it seems that we need to statically link Phobos when making the release executables.

This was my mistake. I build the v0.5.0 binary on my machine as there were still some problems with Travis. As it turns out that ArchLinux recently switched to pass -link-defaultlib-shared by default. The "official" LDC release binaries (i.e. the one used on Travis), don't have this problem and use static linking by default.
I just uploaded a fixed release archive.
LDC only has a -static flag which will result in linking in all system dependencies, but I'm not whether we want to do this either.
So I'm not sure what I can do about this in this PR.

Here's how the tarball would look like if built with the "official" LDC 1.8:

dfmt-v0.5.2-linux-x86_64.tar.gz

ldd ./dfmt
	linux-vdso.so.1 (0x00007fff02fe0000)
	librt.so.1 => /usr/lib/librt.so.1 (0x00007fe8629e2000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fe8627de000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fe8625c0000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007fe862274000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fe86205d000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007fe861ca6000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fe862e42000)

@wilzbach wilzbach force-pushed the release branch 2 times, most recently from 149c39e to 2401398 Compare April 23, 2018 17:14
@wilzbach
Copy link
Member Author

(Added all changes that happened at the DScanner repo to this PR - including the build of the Windows binaries - directly on Travis)

@wilzbach wilzbach changed the title Deploy binaries to GitHub releases (Linux/MacOS) Deploy binaries to GitHub releases (Windows/Linux/MacOS) Apr 23, 2018
@wilzbach wilzbach merged commit c4e7335 into dlang-community:v0.7.x Apr 23, 2018
@wilzbach wilzbach deleted the release branch April 23, 2018 21:17
leandro-lucarella-sociomantic added a commit that referenced this pull request Jun 8, 2018
v0.7.1

# gpg: Signature made Fri 08 Jun 2018 18:50:24 CEST
# gpg:                using RSA key E3D020B40D45A8AB
# gpg: Good signature from "Leandro Lucarella <[email protected]>"

* tag 'v0.7.1':
  Update Windows Travis Deploy Regex (#354)
  Deploy binaries to GitHub releases (Linux/MacOS) (#348)
leandro-lucarella-sociomantic added a commit that referenced this pull request Jun 8, 2018
v0.8.1

# gpg: Signature made Fri 08 Jun 2018 18:50:25 CEST
# gpg:                using RSA key E3D020B40D45A8AB
# gpg: Good signature from "Leandro Lucarella <[email protected]>"

* tag 'v0.8.1':
  Update Windows Travis Deploy Regex (#354)
  Deploy binaries to GitHub releases (Linux/MacOS) (#348)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants