jacobdeichert / mask

🎭 A CLI task runner defined by a simple markdown file
MIT License
1.1k stars 55 forks source link

Add musl support binary on release #95

Closed 8Mobius8 closed 1 year ago

8Mobius8 commented 1 year ago

Which issue does this fix?

Closes #93

Describe the solution

Updates release.yml file to include a new asset on release for a binary built with the musl library. This enables direct download and execution on OSs with musl library like alpine.

It should attach the assets template similar to the following: mask-VERSION-x86_64-unknown-linux-musl.zip

Tested this on my own fork of mask, musl release job can be viewed here: https://github.com/8Mobius8/mask/actions/runs/3814878606/jobs/6489495643

I additionally tested the binary on the basic alpine image:

$ docker run -it alpine
/ # wget https://github.com/8Mobius8/mask/releases/download/release-test-musl/mask-release-test-musl-x86_64-unknown-linu
x-musl.zip
Connecting to github.com (140.82.114.4:443)
Connecting to objects.githubusercontent.com (185.199.109.133:443)
saving to 'mask-release-test-musl-x86_64-unknown-linux-musl.zip'
mask-release-test-mu 100% |************************************************************************| 1514k  0:00:00 ETA
'mask-release-test-musl-x86_64-unknown-linux-musl.zip' saved
/ # unzip mask-release-test-musl-x86_64-unknown-linux-musl.zip
Archive:  mask-release-test-musl-x86_64-unknown-linux-musl.zip
   creating: mask-release-test-musl-x86_64-unknown-linux-musl/
  inflating: mask-release-test-musl-x86_64-unknown-linux-musl/mask
/ # ./mask-release-test-musl-x86_64-unknown-linux-musl/mask --version
WARNING: no maskfile.md found
mask 0.11.2
/ # file ./mask-release-test-musl-x86_64-unknown-linux-musl/mask
./mask-release-test-musl-x86_64-unknown-linux-musl/mask: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), static-pie linked, BuildID[sha1]=3c5a542679fb31aa65165b983ae33686c66fad36, with debug_info, not stripped