name: Generate
on:
workflow_dispatch:
push:
branches-ignore: [main]
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
- name: Install Protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c with:
go-version: ">=1.26"
- name: Go mod tidy
run: go mod tidy
- name: Install generators
uses: magefile/mage-action@a662bd8c29d8106879588cfff83b2faf6e6f59db with:
version: latest
install-only: true
- name: Bootstrap
run: mage bootstrap
- name: Generate Protobuf
run: mage proto
- uses: pnpm/action-setup@8912a9102ac27614460f54aedde9e1e7f9aec20d
- name: Use Node.js 20
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f with:
node-version: 24
cache: "pnpm"
- name: Install JS dependencies
run: pnpm install
- name: Test generate JS files
run: |
pnpm --filter @livekit/protocol run generate:proto
- name: Add changes
uses: EndBug/add-and-commit@290ea2c423ad77ca9c62ae0f5b224379612c0321 with:
add: '["livekit", "replay", "rpc", "infra", "packages/javascript/src/gen"]'
default_author: github_actions
message: generated protobuf