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@a8b67ba40b37d35169e222f3bb352603327985b6 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@6f50bbb8ea47d56e62dee92392788acbc8192d0b with:
version: latest
install-only: true
- name: Bootstrap
run: mage bootstrap
- name: Generate Protobuf
run: mage proto
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1
- 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@a94899bca583c204427a224a7af87c02f9b325d5 with:
add: '["livekit", "replay", "rpc", "infra", "packages/javascript/src/gen"]'
default_author: github_actions
message: generated protobuf