Update release with configurable lua version

pull/96/head
Chip Senkbeil 3 years ago
parent 54b88cda32
commit 79d938218c
No known key found for this signature in database
GPG Key ID: 35EF1F8EC72A4131

@ -6,6 +6,10 @@ on:
- v[0-9]+.[0-9]+.[0-9]+
- v[0-9]+.[0-9]+.[0-9]+-**
env:
LUA_VERSION: 5.1.5
LUA_FEATURE: lua51
jobs:
macos:
name: "Build release on MacOS"
@ -21,6 +25,8 @@ jobs:
BUILD_LIB: libdistant_lua.dylib
UNIVERSAL_REL_BIN: distant-macos
UNIVERSAL_REL_LIB: distant_lua-macos.dylib
X86_REL_LIB: distant_lua-macos-intel.dylib
ARM_REL_LIB: distant_lua-macos-arm.dylib
steps:
- uses: actions/checkout@v2
- name: Install Rust (x86)
@ -36,16 +42,18 @@ jobs:
toolchain: stable
target: ${{ env.ARM_ARCH }}
- uses: Swatinem/rust-cache@v1
- name: Build Lua 5.1 library (x86_64)
- name: Build Lua ${{ env.LUA_VERSION }} library (x86_64)
run: |
cd distant-lua
cargo build --release --no-default-features --features lua51,vendored --target ${{ env.X86_ARCH }}
cargo build --release --no-default-features --features "${{ env.LUA_FEATURE }},vendored" --target ${{ env.X86_ARCH }}
ls -l ../${{ env.X86_DIR }}
- name: Build Lua 5.1 library (aarch64)
cp ../${{ env.X86_DIR }}/${{ env.BUILD_LIB }} ../${{ env.X86_REL_LIB }}
- name: Build Lua ${{ env.LUA_VERSION }} library (aarch64)
run: |
cd distant-lua
cargo build --release --no-default-features --features lua51,vendored --target ${{ env.ARM_ARCH }}
cargo build --release --no-default-features --features "${{ env.LUA_FEATURE }},vendored" --target ${{ env.ARM_ARCH }}
ls -l ../${{ env.ARM_DIR }}
cp ../${{ env.ARM_DIR }}/${{ env.BUILD_LIB }} ../${{ env.ARM_REL_LIB }}
- name: Unify libraries
run: |
lipo -create -output ${{ env.UNIVERSAL_REL_LIB }} \
@ -75,6 +83,8 @@ jobs:
path: |
${{ env.UNIVERSAL_REL_BIN }}
${{ env.UNIVERSAL_REL_LIB }}
${{ env.X86_REL_LIB }}
${{ env.ARM_REL_LIB }}
windows:
name: "Build release on Windows"
@ -99,11 +109,11 @@ jobs:
- uses: Swatinem/rust-cache@v1
- uses: xpol/setup-lua@v0.3
with:
lua-version: "5.1.5"
- name: Build Lua 5.1 library (x86_64)
lua-version: "${{ env.LUA_VERSION }}"
- name: Build Lua ${{ env.LUA_VERSION }} library (x86_64)
run: |
cd distant-lua
cargo build --release --no-default-features --features lua51 --target ${{ env.X86_ARCH }}
cargo build --release --no-default-features --features "${{ env.LUA_FEATURE }}" --target ${{ env.X86_ARCH }}
ls -l ../${{ env.X86_DIR }}
mv ../${{ env.X86_DIR }}/${{ env.BUILD_LIB }} ../${{ env.X86_REL_LIB }}
env:
@ -159,10 +169,10 @@ jobs:
sudo apt-get update
sudo apt-get install -y --no-install-recommends musl-tools
- uses: Swatinem/rust-cache@v1
- name: Build Lua 5.1 library (GNU x86_64)
- name: Build Lua ${{ env.LUA_VERSION }} library (GNU x86_64)
run: |
cd distant-lua
cargo build --release --no-default-features --features lua51,vendored --target ${{ env.X86_GNU_ARCH }}
cargo build --release --no-default-features --features "${{ env.LUA_FEATURE }},vendored" --target ${{ env.X86_GNU_ARCH }}
ls -l ../${{ env.X86_GNU_DIR }}
mv ../${{ env.X86_GNU_DIR }}/${{ env.BUILD_LIB }} ../${{ env.X86_GNU_REL_LIB }}
- name: Build binary (GNU x86_64)
@ -198,6 +208,8 @@ jobs:
MACOS: macos
MACOS_UNIVERSAL_BIN: distant-macos
MACOS_UNIVERSAL_LIB: distant_lua-macos.dylib
MACOS_X86_LIB: distant_lua-macos-intel.dylib
MACOS_ARM_LIB: distant_lua-macos-arm.dylib
WIN64: win64
WIN64_BIN: distant-win64.exe
WIN64_LIB: distant_lua-win64.dll
@ -212,6 +224,10 @@ jobs:
cd ${{ env.MACOS }}
sha256sum ${{ env.MACOS_UNIVERSAL_LIB }} > ${{ env.MACOS_UNIVERSAL_LIB }}.sha256sum
echo "SHA_MACOS_LUA_LIB=$(cat ${{ env.MACOS_UNIVERSAL_LIB }}.sha256sum)" >> $GITHUB_ENV
sha256sum ${{ env.MACOS_X86_LIB }} > ${{ env.MACOS_X86_LIB }}.sha256sum
echo "SHA_MACOS_X86_LUA_LIB=$(cat ${{ env.MACOS_X86_LIB }}.sha256sum)" >> $GITHUB_ENV
sha256sum ${{ env.MACOS_ARM_LIB }} > ${{ env.MACOS_ARM_LIB }}.sha256sum
echo "SHA_MACOS_ARM_LUA_LIB=$(cat ${{ env.MACOS_ARM_LIB }}.sha256sum)" >> $GITHUB_ENV
sha256sum ${{ env.MACOS_UNIVERSAL_BIN }} > ${{ env.MACOS_UNIVERSAL_BIN }}.sha256sum
echo "SHA_MACOS_BIN=$(cat ${{ env.MACOS_UNIVERSAL_BIN }}.sha256sum)" >> $GITHUB_ENV
- name: Generate Win64 SHA256 checksums
@ -243,12 +259,15 @@ jobs:
target_commitish: ${{ github.sha }}
draft: false
prerelease: |
contains(env.TAG_NAME, 'alpha') ||
contains(env.TAG_NAME, 'beta') ||
contains(env.TAG_NAME, 'nightly')
contains("${{ env.TAG_NAME }}", 'alpha') ||
contains("${{ env.TAG_NAME }}", 'beta') ||
contains("${{ env.TAG_NAME }}", 'nightly') ||
contains("${{ env.TAG_NAME }}", 'snapshot')
files: |
${{ env.MACOS }}/${{ env.MACOS_UNIVERSAL_BIN }}
${{ env.MACOS }}/${{ env.MACOS_UNIVERSAL_LIB }}
${{ env.MACOS }}/${{ env.MACOS_X86_LIB }}
${{ env.MACOS }}/${{ env.MACOS_ARM_LIB }}
${{ env.WIN64 }}/${{ env.WIN64_BIN }}
${{ env.WIN64 }}/${{ env.WIN64_LIB }}
${{ env.LINUX64 }}/${{ env.LINUX64_GNU_BIN }}
@ -262,7 +281,7 @@ jobs:
2. Rename to `distant_lua.dll`
3. Import via `distant = require("distant_lua")`
### macOS
1. Download **${{ env.MACOS_UNIVERSAL_LIB }}**
1. Download **${{ env.MACOS_UNIVERSAL_LIB }}** (or **${{ env.MACOS_X86_LIB }}** or **${{ env.MACOS_ARM_LIB }}**)
2. Rename to `distant_lua.so` (still works on Mac for Lua)
- Alternatively, you can rename to `distant_lua.dylib` and add
`package.cpath = package.cpath .. ";?.dylib"` within your Lua code before
@ -275,7 +294,7 @@ jobs:
## Artifacts
A Lua library is built out to provide bindings to `distant-core` and `distant-ssh2` within Lua.
While this is geared towards usage in neovim, this Lua binding is generic and can be used in Lua
anyway. The library is built against Lua 5.1 (compatible with Luajit). Make sure to rename the
anyway. The library is built against Lua ${{ env.LUA_VERSION }}. Make sure to rename the
library to `distant_lua.{dll,dylib,so}` prior to importing as that is the expected name!
- **linux64** is the Linux library that supports the x86-64 platform using libc
- **macos** is the universal MacOS library that supports x86-64 and aarch64 (ARM) platforms
@ -289,6 +308,8 @@ jobs:
## SHA256 Checksums
```
${{ env.SHA_MACOS_LUA_LIB }}
${{ env.SHA_MACOS_X86_LUA_LIB }}
${{ env.SHA_MACOS_ARM_LUA_LIB }}
${{ env.SHA_MACOS_BIN }}
${{ env.SHA_WIN64_LUA_LIB }}
${{ env.SHA_WIN64_BIN }}

Loading…
Cancel
Save