Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
1b4e64c
upgrade napi and streamline build pipeline
lukasIO Feb 9, 2026
af3d611
update lock file
lukasIO Feb 9, 2026
697f816
chore: update livekit-ffi-node-bindings version to 0.12.46
github-actions[bot] Feb 9, 2026
df54f3c
update build process
lukasIO Feb 9, 2026
2844a36
also add native package changes
lukasIO Feb 9, 2026
853af92
Merge branch 'lukas/binding-build' of https://github.com/livekit/rust…
lukasIO Feb 9, 2026
e78e725
fix output path
lukasIO Feb 9, 2026
43bddf6
wip no TS
lukasIO Feb 10, 2026
41d39ee
check in generated files
lukasIO Feb 10, 2026
2bb7289
update artifacts command
lukasIO Feb 10, 2026
6781e19
update lock file
lukasIO Feb 10, 2026
93e45d8
fix initial files
lukasIO Feb 10, 2026
cadd179
downgrade
lukasIO Feb 10, 2026
840155d
re-export protobuf type
lukasIO Feb 10, 2026
4b50ba1
bump
lukasIO Feb 10, 2026
703b214
dev version
lukasIO Feb 10, 2026
cd9e066
Merge branch 'main' into lukas/binding-build
lukasIO Feb 10, 2026
c3d52f7
bump
lukasIO Feb 10, 2026
41d101b
fix workflow
lukasIO Feb 10, 2026
ec6d5bc
run bump on macos
lukasIO Feb 10, 2026
e19dc34
try again
lukasIO Feb 10, 2026
15f5139
bump livekit-ffi-node-binding version
github-actions[bot] Feb 10, 2026
e0148bb
typo
lukasIO Feb 10, 2026
49b16b2
Merge branch 'lukas/binding-build' of https://github.com/livekit/rust…
lukasIO Feb 10, 2026
701b319
bump livekit-ffi-node-binding version
github-actions[bot] Feb 10, 2026
d0b621b
fix fetching
lukasIO Feb 11, 2026
273e3dc
Merge branch 'lukas/binding-build' of https://github.com/livekit/rust…
lukasIO Feb 11, 2026
e087593
bump livekit-ffi-node-binding version
github-actions[bot] Feb 11, 2026
37f9477
update js bindings for release
github-actions[bot] Feb 11, 2026
c1b79ef
skip cache in first job
lukasIO Feb 11, 2026
5329157
Merge branch 'lukas/binding-build' of https://github.com/livekit/rust…
lukasIO Feb 11, 2026
38a8dfe
temp no git check
lukasIO Feb 11, 2026
9b05605
better commit access
lukasIO Feb 11, 2026
9f5d076
bump livekit-ffi-node-binding version
github-actions[bot] Feb 11, 2026
b5f4614
long commit sha
lukasIO Feb 11, 2026
0b95d7c
Merge branch 'lukas/binding-build' of https://github.com/livekit/rust…
lukasIO Feb 11, 2026
92ceb9c
bump livekit-ffi-node-binding version
github-actions[bot] Feb 11, 2026
b9bdeef
prevent detached head state
lukasIO Feb 11, 2026
ae8d016
Merge branch 'lukas/binding-build' of https://github.com/livekit/rust…
lukasIO Feb 11, 2026
129aa31
bump livekit-ffi-node-binding version
github-actions[bot] Feb 11, 2026
c58317e
update js bindings for release
github-actions[bot] Feb 11, 2026
8f6d519
bump livekit-ffi-node-binding version
github-actions[bot] Feb 11, 2026
69c2cc3
update js bindings for release
github-actions[bot] Feb 11, 2026
670fbd9
publish as latest
lukasIO Feb 12, 2026
f013394
Merge branch 'lukas/binding-build' of https://github.com/livekit/rust…
lukasIO Feb 12, 2026
fe9c270
Merge branch 'main' into lukas/binding-build
lukasIO Feb 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 75 additions & 35 deletions .github/workflows/node-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,46 @@ env:
APP_NAME: rtc-node

jobs:
bump_version:
runs-on: macos-15
outputs:
commit_sha: ${{ steps.commit.outputs.commit_long_sha }}
steps:
- uses: actions/checkout@v6

- uses: pnpm/action-setup@v4
with:
package_json_file: livekit-ffi-node-bindings/package.json

- name: Setup node
uses: actions/setup-node@v6
with:
node-version: 24
cache: pnpm
cache-dependency-path: livekit-ffi-node-bindings/pnpm-lock.yaml

- working-directory: livekit-ffi-node-bindings
run: pnpm install

- name: Set package version from tag
working-directory: livekit-ffi-node-bindings
run: |
# Extract version from tag (e.g., rust-sdks/livekit-ffi@0.12.43 -> 0.12.43)
VERSION=$(echo "${{ env.TAG_NAME }}" | sed 's/.*@//')
echo "Setting package version to $VERSION"
npm version $VERSION --no-git-tag-version
pnpm run ci:version

- name: Add changes
id: commit
uses: EndBug/add-and-commit@v9
with:
add: '["**/package.json"]'
default_author: github_actions
message: bump livekit-ffi-node-binding version

build:
needs: bump_version
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -55,6 +94,8 @@ jobs:
- uses: actions/checkout@v6
with:
submodules: recursive
ref: ${{ needs.bump_version.outputs.commit_sha }}
fetch-depth: 0
- uses: pnpm/action-setup@v4
with:
package_json_file: livekit-ffi-node-bindings/package.json
Expand Down Expand Up @@ -147,20 +188,32 @@ jobs:
working-directory: livekit-ffi-node-bindings
run: pnpm build --target ${{ matrix.target }}

- name: Upload artifact
- name: Upload binary artifact
uses: actions/upload-artifact@v4
if: github.event_name != 'pull-request'
with:
name: bindings-${{ matrix.target }}
path: livekit-ffi-node-bindings/src/napi/${{ env.APP_NAME }}.*.node
name: native-bindings-${{ matrix.target }}
path: livekit-ffi-node-bindings/${{ env.APP_NAME }}.*.node
if-no-files-found: error

release:
needs: build
name: Release
- name: Upload JS
uses: actions/upload-artifact@v4
if: ${{ github.event_name != 'pull-request' && matrix.os == 'macos-15' }}
with:
name: js-bindings
path: livekit-ffi-node-bindings/native.*
if-no-files-found: error

commit_and_release:
needs: [bump_version, build]
name: Commit and Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- run: git fetch origin ${{ needs.bump_version.outputs.commit_sha }}

- run: git reset --hard ${{ needs.bump_version.outputs.commit_sha }}

- uses: pnpm/action-setup@v4
with:
Expand All @@ -176,40 +229,27 @@ jobs:
- working-directory: livekit-ffi-node-bindings
run: pnpm install

- name: Install Protoc
uses: arduino/setup-protoc@v3
with:
version: "25.1"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Download all artifacts
- name: Download native build artifacts
uses: actions/download-artifact@v4
with:
pattern: native-bindings-*
path: livekit-ffi-node-bindings/artifacts

- name: Set package version from tag
working-directory: livekit-ffi-node-bindings
run: |
# Extract version from tag (e.g., rust-sdks/livekit-ffi@0.12.43 -> 0.12.43)
VERSION=$(echo "${{ env.TAG_NAME }}" | sed 's/.*@//')
echo "Setting package version to $VERSION"
npm version $VERSION --no-git-tag-version
pnpm run version

- name: Commit and push versioning changes
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add .
git commit -m "chore: update livekit-ffi-node-bindings version to $(echo "${{ env.TAG_NAME }}" | sed 's/.*@//')" || echo "No changes to commit"
git push origin HEAD
- name: Download js artifacts
uses: actions/download-artifact@v4
with:
name: js-bindings
path: livekit-ffi-node-bindings

- name: Build TS parts
working-directory: livekit-ffi-node-bindings
run: pnpm build:ts
- name: Add changes
uses: EndBug/add-and-commit@v9
with:
add: '["livekit-ffi-node-bindings/native.js", "livekit-ffi-node-bindings/native.d.ts"]'
default_author: github_actions
message: update js bindings for release

- name: Move artifacts
run: pnpm artifacts
run: pnpm run ci:artifacts
working-directory: livekit-ffi-node-bindings

- name: List packages
Expand All @@ -218,4 +258,4 @@ jobs:

- name: Publish
working-directory: livekit-ffi-node-bindings
run: pnpm publish --tag dev
run: pnpm publish -r
87 changes: 59 additions & 28 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion livekit-ffi-node-bindings/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ dist
.AppleDouble
.LSOverride

# Icon must end with two
# Icon must end with two
Icon


Expand Down
5 changes: 3 additions & 2 deletions livekit-ffi-node-bindings/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ publish = false
crate-type = ["cdylib"]

[dependencies]
napi = { version = "2.12.2", default-features = false, features = [
napi = { version = "3.8.2", default-features = false, features = [
"compat-mode",
"async",
"napi6",
] }
napi-derive = "2.12.2"
napi-derive = "3.5.1"
livekit-ffi = { path = "../livekit-ffi" }
prost = { workspace = true }
prost-types = { workspace = true }
Expand Down
Loading
Loading