name: Generate
on:
workflow_dispatch:
push:
branches-ignore: [main]
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Install Protoc
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b with:
version: "35.x"
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e 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@0ebf47130e4866e96fce0953f49152a61190b271
- name: Use Node.js 20
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 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