ci: build and release pre-compiled libwaku artifacts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jimmy Claw 2026-03-02 08:45:17 +00:00
parent 95040402fe
commit 63077620f1
2 changed files with 89 additions and 0 deletions

77
.github/workflows/release-artifacts.yml vendored Normal file
View File

@ -0,0 +1,77 @@
name: Release libwaku artifacts
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
build-linux-x86_64:
name: Build libwaku (Linux x86_64)
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential git libpcre3-dev libssl-dev pkg-config
- name: Initialize vendor dependencies
run: cd waku-sys/vendor && make update
- name: Build libwaku
run: cd waku-sys/vendor && make libwaku STATIC=0 MAKEFLAGS="-j$(nproc)"
- name: Prepare artifact
run: cp waku-sys/vendor/build/libwaku.so libwaku-linux-x86_64.so
- name: Upload to release
uses: softprops/action-gh-release@v2
with:
files: libwaku-linux-x86_64.so
build-linux-arm64:
name: Build libwaku (Linux ARM64)
runs-on: ubuntu-24.04-arm
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential git libpcre3-dev libssl-dev pkg-config
- name: Initialize vendor dependencies
run: cd waku-sys/vendor && make update
- name: Build libwaku
run: cd waku-sys/vendor && make libwaku STATIC=0 MAKEFLAGS="-j$(nproc)"
- name: Prepare artifact
run: cp waku-sys/vendor/build/libwaku.so libwaku-linux-arm64.so
- name: Upload to release
uses: softprops/action-gh-release@v2
with:
files: libwaku-linux-arm64.so
build-macos-arm64:
name: Build libwaku (macOS ARM64)
runs-on: macos-latest
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: brew install pcre openssl@3 pkg-config
- name: Initialize vendor dependencies
run: cd waku-sys/vendor && make update
- name: Build libwaku
run: cd waku-sys/vendor && make libwaku STATIC=0 MAKEFLAGS="-j$(sysctl -n hw.ncpu)"
- name: Prepare artifact
run: cp waku-sys/vendor/build/libwaku.dylib libwaku-macos-arm64.dylib
- name: Upload to release
uses: softprops/action-gh-release@v2
with:
files: libwaku-macos-arm64.dylib

View File

@ -24,3 +24,15 @@ Rust layer on top of [`logos-messaging-nim`](https://github.com/logos-messaging/
Private. Secure. Runs anywhere.
Read the [Waku docs](https://docs.waku.org/)
## Pre-built libwaku artifacts
Pre-compiled `libwaku` shared libraries are available as GitHub Release assets for each tagged version:
| Platform | Artifact |
|----------|----------|
| Linux x86_64 | `libwaku-linux-x86_64.so` |
| Linux ARM64 | `libwaku-linux-arm64.so` |
| macOS ARM64 | `libwaku-macos-arm64.dylib` |
Download them from the [Releases](https://github.com/logos-messaging/logos-delivery-rust-bindings/releases) page.