Add a workflow to upload Linux build on releases

Building static binaries with Alpine Linux's musl libc-based toolchain
should make them work on any distros with Linux kernel 2.6.39 and newer.

Fixes https://github.com/mawww/kakoune/issues/4555

References:

- https://wiki.musl-libc.org/supported-platforms.html

Signed-off-by: Masanori Ogino <masanori.ogino@gmail.com>
This commit is contained in:
Masanori Ogino 2022-05-31 15:35:02 +09:00
parent ac6f928ad4
commit 1d439f0ab8

View File

@ -0,0 +1,29 @@
name: Build static binaries for Linux
on:
release:
types: [published, edited]
jobs:
build:
runs-on: ubuntu-latest
container:
image: alpine:latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.release.tag_name }}
- name: Prepare
run: apk add --no-cache binutils bzip2 g++ git make tar
- name: Build
run: |
mkdir -p kakoune-${{ github.event.release.tag_name }}-linux/
make -C src all static=yes
make -C src install PREFIX=$(pwd)/kakoune-${{ github.event.release.tag_name }}-linux/
strip -s kakoune-${{ github.event.release.tag_name }}-linux/bin/kak
tar cvjf kakoune-${{ github.event.release.tag_name }}-linux.tar.bz2 kakoune-${{ github.event.release.tag_name }}-linux/
- name: Upload
uses: softprops/action-gh-release@v1
with:
files: kakoune-${{ github.event.release.tag_name }}-linux.tar.bz2