Skip to content

Build dev Linux-static amd64 binary #17

Build dev Linux-static amd64 binary

Build dev Linux-static amd64 binary #17

name: Build dev Linux-static amd64 binary
on:
workflow_dispatch:
jobs:
build-dev-linux-static-amd64:
name: Build dev amd64 Linux static binary
runs-on: ubuntu-22.04
env:
BUILD_ARCH: x64
BUILD_LOGLEVEL: verbose
BUILD_STATIC: '--fully-static'
BUILD_NO_LTO: 1 # the MUSL setup doesn't support linker plugins
steps:
- uses: actions/setup-python@v4
id: py
with:
python-version: '3.9' # workaround "cannot import name 'Mapping' from 'collections'" error
- uses: actions/checkout@v3
- name: Setup musl
run: |
curl http://musl.cc/x86_64-linux-musl-native.tgz | tar zxf -
echo "CC=`pwd`/x86_64-linux-musl-native/bin/x86_64-linux-musl-cc" >> $GITHUB_ENV
echo "CXX=`pwd`/x86_64-linux-musl-native/bin/x86_64-linux-musl-c++" >> $GITHUB_ENV
- run: npm install --production --ignore-scripts
- run: npm install --production
working-directory: nexe
# diagnose weird failure between initial message and download message
- run: sed -i '/return tryInvokeMiddleware/i try{console.log("Invoke middleware", mw.name);}catch(x){}' node_modules/app-builder/lib/compose.js
working-directory: nexe
continue-on-error: true
- run: node build
working-directory: nexe
- run: nexe/parpar --version
- run: nexe/parpar -r1 -s1M -onexe/test.par2 nexe/parpar
- run: xz -9e --x86 --lzma2 nexe/parpar -c > parpar.xz
- uses: actions/upload-artifact@v3
with:
path: ./parpar.xz
name: parpar-${{ github.ref_name }}-linux-static-amd64.xz
retention-days: 5