Appveyor doesn't respect the executable bit?
Hello! I'm working with Appveyor to build a compiled x64 GUI application in Golang and I have everything working as it should, I believe, except for an issue with the executable bit.
I've noticed that when I compile my program on Linux and Mac here on Appveyor, the executable bits are not set. This is strange, because if I build on my local Linux machine, it has the bit set, even if I zip it up afterwards and then unzip it.
I also manually am changing the bit on the Mac build after successful build and before the artifacts are compiled, but it still comes down the pipe with the bit not set when I download it from Appveyor.
Any ideas for a reason why this might not be working properly? Is the artifact zipping process done on a Windows VM after the remote VM is finished building, maybe? Or perhaps am I misunderstanding something else?
Comments are currently closed for this discussion. You can start a new one.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Feodor Fitsner on 10 Jun, 2020 02:01 AM
Are you packing executables into
.zip
archives?2 Posted by solarlune on 10 Jun, 2020 05:44 AM
Yes, that's correct - is that part of the problem?
If so, is there another way to group a collection of files in a folder without it being zipped up automatically by Appveyor? I'm trying to get the build result (which is an executable output in a folder called
bin
) as an artifact. The artifact should contain the executable and everything next to it as well.Everything's exactly where I need it before trying to make it an artifact, and simply using this partial config works:
But with this configuration, the executable bit is lost.
Support Staff 3 Posted by Feodor Fitsner on 10 Jun, 2020 07:34 PM
Unfortunately,
.zip
is not preserving *nix permissions. You have to package artifacts into.tar.gz
and push them to artifacts withappveyor PushArtifact
command.Feodor Fitsner closed this discussion on 10 Aug, 2020 09:02 PM.